从客户端,我能够将特定对象的相关_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
答案 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)