5

使用这样的架构:

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

您将如何执行以下操作:

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

4

1 回答 1

1

运算符$addToSet$pull$addToSet如果标签不存在,只会添加标签。$pull将删除标签的所有实例。

正如@assylias 所提到的,您可以使用_id推定构建一个完整的更新命令,或者结合{tags: tagInQuestion}仅对具有tagInQuestion等的文档进行操作。

于 2013-04-02T17:47:46.753 回答