Mongodb:如何从每个文档中删除字段


您可以使用以下方法从 MongoDB 集合中的每个文档中删除字段:

方法一:删除字段

 db.collection.updateMany({}, { $unset : {" field1 ":1}})

方法二:删除多个字段

 db.collection.updateMany({}, { $unset : {" field1 ":1, " field2 ":1}})

以下示例展示了如何通过收集团队使用每种方法并提供以下文档:

 db.teams.insertOne({team: " Mavs ", position: " Guard ", points: 31 })
db.teams.insertOne({team: " Spurs ", position: " Guard ", points: 22 })
db.teams.insertOne({team: " Rockets ", position: " Center ", points: 19 })

示例1:删除字段

我们可以使用以下代码从集合中的每个文档中删除“points”字段:

 db.teams.updateMany({}, { $unset : {" points ":1}})

然后我们可以使用以下查询来显示集合中的每个文档:

 db.teams.find()

该查询返回以下结果:

 { _id: ObjectId("61893b7196cd2ba58ce928f4"),
  team: 'Mavs',
  position: 'Guard' }

{ _id: ObjectId("61893b7196cd2ba58ce928f5"),
  team: 'Spurs',
  position: 'Guard' }

{ _id: ObjectId("61893b7196cd2ba58ce928f6"),
  team: 'Rockets',
  position: 'Center' }

请注意,“点”字段已从每个文档中删除。

示例2:删除多个字段

我们可以使用以下代码从集合中的每个文档中删除“点”和“位置”字段:

 db.teams.updateMany({}, { $unset : {" points ":1, " position ":1}})

然后我们可以使用以下查询来显示集合中的每个文档:

 db.teams.find()

该查询返回以下结果:

 { _id: ObjectId("61893bf896cd2ba58ce928f7"), team: 'Mavs' }
{ _id: ObjectId("61893bf896cd2ba58ce928f8"), team: 'Spurs' }
{ _id: ObjectId("61893bf896cd2ba58ce928f9"), team: 'Rockets' }

请注意,“点”和“位置”字段已从每个文档中删除。

注意:您可以在此处找到$unset的完整文档。

其他资源

以下教程解释了如何在 MongoDB 中执行其他常见操作:

MongoDB:如何向集合添加新字段
MongoDB:如何分组和计数
MongoDB:如何按多个字段分组

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注