mongodb - 如何从 MongoDb 对象中删除属性?

我已将 MiddleName 属性添加到我的 Customer 对象。 Customer 是一个简单的 Object() 实例。我想从我的对象中删除此属性。我怎样才能做到这一点?我正在使用 MongoDb 交互式控制台。

最佳答案

您应该在更新时使用 $unset 修饰符:

删除:(最新语法) https://docs.mongodb.com/manual/reference/method/db.collection.update/

db.collection.update(
    {},
    { 
        $unset : { 
            "properties.service" : 1 
        } 
    },
    {
        multi: true
    }
);

感谢Xavier Guihot评论更新!

删除:(仅供引用)

//db.collection.update(criteria, objNew, upsert, multi)

db.collection.update( 
    { 
        "properties.service" : { 
             $exists : true 
         } 
    }, 
    { 
         $unset : { 
             "properties.service" : 1 
         } 
    }, 
    false, 
    true
);

要验证它们已被删除,您可以使用:

db.collection.find( 
    { 
        "properties.service" : { 
            $exists : true
         } 
    } 
).count(true);

如果要更新多条记录,请记住将 multi 选项设置为 true。 就我而言,我想从该集合的所有记录中删除 properties.service 属性。

https://stackoverflow.com/questions/3878163/

相关文章:

node.js - mongoDB 是否有重新连接问题或者我做错了?

mongodb - mongoengine - 忽略模式验证的额外字段

mongodb - 文档数据库 : Redundant data, 引用等(特别是 MongoDB)

java - Mongodb避免重复条目

node.js - 在 MongoDB 中删除时自动删除引用对象

javascript - 如何在 meteor 应用程序中向 mongodb 添加两列唯一 ID?

ruby-on-rails - 查询 Mongoid 哈希字段

c# - C#最成熟的MongoDB驱动是什么?

node.js - Mongoose 对聚合结果进行排序

excel - NODE.JS: fatal error - JS 分配失败 - 进程内存不足,同时