在数组中插入或更新对象的属性

时间:2016-07-07 21:29:16

标签: arrays mongodb meteor

我正在尝试更新(或插入)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;
}
});

1 个答案:

答案 0 :(得分:1)

您不需要$set或方括号:

Curriculum.update(doc._id,{ $addToSet: { apps: { appId: appId } } );

英文:

  

将对象{appId: appId}添加到apps_id

的文档中的数组doc._id