mongodb - 如何从 MongoDB 文档中完全删除字段?

{ 
    name: 'book',
    tags: {
        words: ['abc','123'],
        lat: 33,
        long: 22
    }
}

假设这是一个文档。如何从该集合中的所有文档中完全删除“words”?我希望所有文档都没有“words”:

 { 
     name: 'book',
     tags: {
         lat: 33,
         long: 22
     }
}

最佳答案

试试这个:如果您的收藏是“示例”

db.example.update({}, {$unset: {words:1}}, false, true);

引用这个:

http://www.mongodb.org/display/DOCS/Updating#Updating-%24unset

更新:

以上链接不再涵盖“$unset”。如果要从集合中的所有文档中删除此字段,请务必添加 {multi: true};否则,它只会从它找到的第一个匹配的文档中删除它。有关更新的文档,请参阅此内容:

https://docs.mongodb.com/manual/reference/operator/update/unset/

例子:

db.example.update({}, {$unset: {words:1}} , {multi: true});

https://stackoverflow.com/questions/6851933/

相关文章:

node.js - Mongoose:findOneAndUpdate 不返回更新的文档

java - 为什么 MongoDB Java 驱动程序在条件中使用随机数生成器?

mongodb - 如何在 MongoDB 中将集合从一个数据库复制到另一个数据库

sql - MongoDB 在 v4 之前不符合 ACID 的真正含义是什么?

node.js - 如何在 Node.js Web 应用程序中管理 MongoDB 连接?

javascript - cursor.forEach() 中的 "continue"

mongodb - 如何在 mongo 控制台中通过 ObjectId 搜索对象?

node.js - Mongoose 中的 "__v"字段是什么

node.js - mongodb/mongoose findMany - 查找 ID 列在数组中的

mongodb - 如何在 MongoDB shell 中打印出 20 多个项目(文档)?