如何删除mongodb数组中的元素

时间:2015-11-23 04:47:07

标签: javascript arrays mongodb meteor

如何在集合中只删除数组中的一个元素,如下所示:

{
    "_id" : "Y9BBFa4c4vMiAkjbi",
    "metadata" : {
        "tags" : [
            "Anything",
            "Something",
            "More"
        ]
    }
}

在这个例子中,我只想删除'Something' - 如果它存在。

var tag = 'Something';
if (Collection.find({ 'metadata.tags': tag }).count()) {
    Collection.update(
        { _id: id },
        { $pull: { 'metadata.tags': tag } }
    );
}

1 个答案:

答案 0 :(得分:1)

只需确保您的$pull定位要删除的数组元素:

Collection.update({ _id: id },
    { $pull: { 'metadata.tags': { $eq: "Something" }}}
);