我想要一个包含包含数组的数组的架构,所以我定义了以下架构:
runGroupEntries: [
[
{
type: mongoose.Types.ObjectId,
ref: 'User',
require: true
}
]
]
我的意图是拥有
runGroupEntries[['userId1', 'userId2', 'userId3'], ['userId4', 'userId5', 'userId6], ...]
我使用以下方法初始化了模式:
for (let i = 0; i < numGroups; ++i) {
event.runGroupEntries.push(undefined);
}
在MongoDB Atlas中,它显示: initialization
对我来说很好。
我插入元素的方式是
event.runGroupEntries[runGroup].push(userId);
在此示例中,runGroup为0。我期望看到
runGroupEntries: [ [ null, "userId" ], [ null ], [ null ], [ null ], [ null ] ]
但实际结果是:
runGroupEntries: [ [ null, [Array] ], [ null ], [ null ], [ null ], [ null ] ],
然后,我尝试将另一个userId推送到event.runGroupEntries [0]。有趣的是,以前的数组现在变成了“ userId”,但是被推送的新元素仍然显示一个数组。
runGroupEntries: [
[ null, 5f5c1d95e4f678ce190d5624, [Array] ],
我真的不知道为什么被压入的元素变成了数组。任何帮助将不胜感激!