在MongoDB / Meteor中更新文档中的字段

时间:2016-07-18 21:06:56

标签: mongodb meteor

我正在尝试更新集合中文档中的几个不同字段,并且似乎遇到了一些麻烦。我似乎无法访问我想要设置的任何特定属性(主题,标准,价格)。有人能帮忙吗?到目前为止,这是我的代码,newAttributes似乎没有在那里。

我已确认doc._id正确填充。

Template.AppAdmin.events({
'click #editApp': function() {


    let newAttributes = {};

    let subject = $('#subject').val();
    let standard = $('#standard').val();
    let price = $('#price').val();
    console.log(subject);
    console.log(standard);
    console.log(price);

    newAttributes = { subject: subject, standard: standard, price: price }; 

    var doc = Session.get('appId');
    console.log(doc);
    console.log(newAttributes);


    Apps.update(doc._id, { $set: { newAttributes }});
    console.log('app has been updated!');

}
});

谢谢。

更新 当然我弄清楚了,我没有正确地通过ID抓取文档......

这有效:

Apps.update({_id: doc}, { $set: newAttributes });

1 个答案:

答案 0 :(得分:1)

您需要删除newAttributes周围的大括号,因为newAttributes已经是一个对象。所以你的更新代码就像

Apps.update(doc._id, { $set: newAttributes });

Apps.update({'_id':doc._id}, { $set: newAttributes });