我需要从特定集合中的每个条目中删除特定的键和值.我已经研究过删除,这似乎只适用于整个条目.看看update,我不相信用null或空字符串更新某个特定的键会达到我想要做的效果.我是mongodb的初学者,请原谅我的无知.

长话短说,我该如何转身

{
  "_id" : 1234,
  "name" : "Chris",
  "description" : "Awesome"
}

进入

{
  "_id" : 1234,
  "name" : "Chris"
}

不删除条目并创建新条目,或使用任何非mongodb命令?谢谢

推荐答案

拨打update()试试$unset.

这样地:

db.collection_name.update({ _id: 1234 }, { $unset : { description : 1} })

正如vikneshwar所 comments 的,如果你想从所有(或多个)文档中删除一个字段,你可以像这样使用updateMany():

db.collection_name.updateMany({}, { $unset : { description : 1} })

Mongodb相关问答推荐

为什么AllowDiskUse不能在$GROUP阶段的聚合管道中工作?

MongoDB 投影按数组中的字符串长度排序

判断对象数组中的值是否存在golang

Mongoose 和 MongoDB,如何在具有多个引用的两个模型之间创建关系?

MongoDB乘以对象值?

mongoose通过引用属性查找文档

SELECT 字段 AS `anothername` 的 mongodb 等效项

Mongo 重启错误 -- /var/run/mongodb/mongod.pid 存在

Spring Mongodb @DBREF

ExpressJS & Mongoose REST API struct :最佳实践?

在 Mongoose 中填写所有必填字段

MongoDB 3 Java判断集合是否存在

MongoDB聚合将字符串数组连接到单个字符串

如何使用 MongoDB C# 驱动程序有条件地组合过滤器?

Mongoose Select 要从 findOneAndUpdate 返回的字段

Meteor订阅不更新集合的排序顺序

如何在 MongoDB 中删除此弃用警告,为什么会这样?

Meteor 发布/订阅独特客户端集合的策略

聚合 $lookup 匹配管道中文档的总大小超过最大文档大小

即使重新安装后,Mongo 仍在等待 27017