如何使用mongo删除meteor中的数组项?

Ste*_*ven 5 mongodb meteor mongodb-query

我有这个应用我正在努力......

http://stevedavis.meteor.com/

您可以通过在控制台中执行"Groups.find()"来查看组集合的内容.

我的JS中有这个......

Template.listGroups.events({
  'click .deleteMember': function(){
    var groupID = this.groupID,
        firstName = this.firstName,
        lastName = this.lastName;
  }
});
Run Code Online (Sandbox Code Playgroud)

所以,如果我点击他们名字旁边的X,我想能够从一个组中删除一个成员.我试过了...

Groups.update( {"_id": groupID }, {$unset: { "members" : {"firstName": firstName, "lastName": lastName} } } );
Run Code Online (Sandbox Code Playgroud)

但它删除了所有成员.我只希望它删除与所单击元素的名字和姓氏相匹配的成员项.谢谢.

Ste*_*ven 10

啊,我只需要将"$ unset"更改为"$ pull".我通过"$ push"添加,所以我想,"是否有$ pull方法?" 而且有!:)

Groups.update( {"_id": groupID }, {"$pull": { "members" : {"firstName": firstName, "lastName": lastName} } } );
Run Code Online (Sandbox Code Playgroud)