更新对象

时间:2014-10-23 12:24:58

标签: mongodb meteor

从客户端,我能够将特定对象的相关_id(变量id为JPDCv6Wn6D94KSzMD)传递给方法,以及包含一些单词的上下文变量。然后,我希望设置'上下文'具有上下文变量的字段。

摘要对象位于meteor.user.profile

summary: Object
        _id: "JPDCv6Wn6D94KSzMD"
        context: ""

方法:(该方法尝试更新'摘要'对象,但功能不正确)

Meteor.methods({
contentUpdate: function (context, id){
    Meteor.users.update({_id:this.userId, //some function)}
}
});

更新方法是我遇到的问题。

Meteor.user();控制台日志:

Meteor.user();
  Object {_id: "YZEBzkGZsny668N8o", emails: Array[1], profile: Object, username: "Mr.A"}
    _id: "YZEBzkGZsny668N8o"
    emails: Array[1]
    profile: Object
       name: "Mr A"
       summary: Object
          _id: "JPDCv6Wn6D94KSzMD"
          context: ""
        __proto__: Object
      __proto__: Object
    username: "Mr.A"
   __proto__: Object

1 个答案:

答案 0 :(得分:0)

根据我对您的问题的理解,您需要这样做:

Meteor.users.update({_id:this.userId, 'profile.objectId': id},{$set:{'profile.$.text' : text}});

另见:MongoDB - Update objects in a document's array (nested updating)