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

时间:2013-04-24 23:38:08

标签: 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;
  }
});

因此,如果我点击其名称旁边的X,我希望能够删除组中的成员。我试过......

Groups.update( {"_id": groupID }, {$unset: { "members" : {"firstName": firstName, "lastName": lastName} } } );

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

2 个答案:

答案 0 :(得分:9)

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

Groups.update( {"_id": groupID }, {"$pull": { "members" : {"firstName": firstName, "lastName": lastName} } } );

答案 1 :(得分:0)

我在MongoDB的文档中找到了这个很棒的页面,它显示了你在这里发现的查询/投影以及更多的内容!

MongoDB documentation.

感谢您提出这一问题 - 您的回答让我走上正轨。