我正在尝试更新(或插入)MongoDB中数组中对象的属性,但我似乎无法访问数组(apps)或属性(appId)。
基本上,正在发生的是" apps"正在创建,但appId没有应该填充。
有人可以看看并提供一些见解吗?
<span style="font-size:9pt">A</span>
<span style="font-size:9pt">UTHORIZATION FOR R</span>
<span style="font-size:9pt">ELEASE</span>
更新
如下所述,数据库调用应为:
Template.CurriculumBuilder.events({
'submit #addToCurriculum': function(e) {
event.preventDefault();
const appId = this._id;
console.log('Here is the app id --> ' + appId)
const userId = Meteor.user()._id;
console.log('Here is the user id --> ' + userId);
const doc = Curriculum.findOne({ user: userId });
console.log('Here is the doc id --> ' + doc._id)
Curriculum.update(doc._id, { $set: { apps: [{ $addToSet: { appId: appId } } ] } } );
console.log('Apps have been added to --> ' + doc._id)
return false;
}
});
答案 0 :(得分:1)
您不需要$set
或方括号:
Curriculum.update(doc._id,{ $addToSet: { apps: { appId: appId } } );
英文:
将对象
的文档中的数组{appId: appId}
添加到apps
为_id
doc._id