首页 > 解决方案 > MongoDB - 从文档中删除一行

问题描述

我有一个带有单个 DOC 的集合,我将其用作“事实来源”,并希望能够为其删除和添加值:

{
    "_id" : ObjectId("61012ada8d2ccb252be87551"),
    "language" : "english",
    "gui-ipv6" : "disable",
    "gui-certificates" : "enable",
    "gui-custom-language" : "disable",
    "gui-display-hostname" : "disable",
    "admin-https-ssl-versions" : "tlsv1-1 tlsv1-2 tlsv1-3",

}

我希望能够删除一行,例如语言。每当我尝试这样做时,它都会删除整个 DOC,因为我的查询与整个 DOC 匹配,例如:

db.my_collection.remove({'language': {$exists:true}})

关于如何解决这个问题的任何想法?

谢谢你。

标签: mongodb

解决方案


使用未设置的运算符删除字段 https://docs.mongodb.com/manual/reference/operator/update/unset/

db.my_collection.update(
   {},
   { $unset: { language: "" },
   false, true }
)

推荐阅读