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

bob*_*nte 5 mongodb

使用这样的架构:

{
        "_id" : ObjectId("513fe2b85b51eafc15000023"),
        "tags" : [
                "House",
                "Red"
        ]
}
Run Code Online (Sandbox Code Playgroud)

您将如何执行以下操作:

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

Nuk*_*San 1

运算符$addToSet$pull. $addToSet仅当标签不存在时才添加该标签。$pull将删除该标签的所有实例。

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