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 中执行其他常见操作: