如何切换MongoDB数组中的标签?

时间:2013-04-02 15:43:31

标签: mongodb

使用这样的架构:

{
        "_id" : ObjectId("513fe2b85b51eafc15000023"),
        "tags" : [
                "House",
                "Red"
        ]
}

您将如何执行以下操作:

如果标签存在,请删除它,如果它不存在则添加它。

1 个答案:

答案 0 :(得分:1)

运营商$addToSet$pull$addToSet只会添加标记(如果不存在)。 $pull将删除标记的所有实例。

正如@assylias所提到的,您将使用_id推测构建完整更新命令,或与{tags: tagInQuestion}一起构建仅对具有tagInQuestion等的文档进行操作。