我正在尝试使用simple-schema创建一个对象数组。在这个例子中,一个人拥有一个充满个人职位的职业历史对象。我无法弄清楚如何插入和更新对象数组。它只是错误。我可以让它工作的唯一方法是明确,例如。 'careerHistory.position.1.company'
。
我正在使用:
路径:mongodb
const ProfileCandidateSchema = new SimpleSchema({
userId: {
type: String,
regEx: SimpleSchema.RegEx.Id
},
careerHistory: { type: Array, optional: true },
'careerHistory.position': { type: Object, optional: true },
'careerHistory.position.$': { type: Object, optional: true },
'careerHistory.position.$.company': { type: String, optional: true },
'careerHistory.position.$.title': { type: String, optional: true }
});
路径:updateForm.js
ProfileCandidate.update(id, { $set: {
'careerHistory.position.company': this.state['position.company'],
'careerHistory.position.title': this.state['position.title'],
}
});
答案 0 :(得分:1)
如果要将对象推送到数组
ProfileCandidate.update(id,
{ $push: { careerHistory: { position: {
'company': this.state['position.company'],
'title': this.state['position.title'],
}}}
});
如果您想更新特定对象
ProfileCandidate.update({ _id: id, 'careerHistory.position.company': this.state['position.company'] }, { $set: {
'careerHistory.position.$.title': this.state['position.title'],
}
});
请参阅集
中的$