有人可以解释为什么一种向我的数据库添加数组的方法有效,而另一种方法没有。真的失去了差异。我正在使用aldeed/node-simple-schema
和collection2
。
示例:Schema
'topFiveSkills': { type: Array, optional: true },
'topFiveSkills.$': { type: String, optional: true }
示例:'工作示例'
topFiveSkills = ["One", "Two", "Three"]
this.state.topFiveSkills.map((skill) => {
ProfileCandidate.update(this.state.profileCandidateCollectionId, {
$push: { 'topFiveSkills': skill }
});
})
示例:'不起作用'
topFiveSkills = ["One", "Two", "Three"]
ProfileCandidate.update(this.state.profileCandidateCollectionId, {
$push: { 'topFiveSkills': { $each: [topFiveSkills] }}
});
答案 0 :(得分:1)
从我所看到的是你在$ each示例中应用嵌套数组。请尝试以下:
topFiveSkills = ["One", "Two", "Three"]
ProfileCandidate.update(this.state.profileCandidateCollectionId, {
$push: {
'topFiveSkills': {
$each: topFiveSkills
}
}
});
请注意,我将对象键/值放在一个单独的行上。正是出于这个原因,但事实并非如此。