我使用split collection philosophy拍摄了一个大集合,分成了很多集合。假设我想从所有集合中删除一个字段。通常我会使用pymongo API并执行以下操作:
for collections in connection.collection_names():
connection[collection].update({},{"$unset":{"myfield":1}},multi=True)
有没有办法在mongo shell中执行此操作?
希望有类似的东西:
use mydatabase
mydatabase.*.update({},{$unset:{"myfield":1}},{multi:true})
或类似
db.getCollectionNames().forEach(func(obj)){db.obj.update()
但我无法弄清楚如何遍历shell /
中的集合名称答案 0 :(得分:1)
您可以使用以下代码段来执行此操作:
db.getCollectionNames().forEach(function(collection){
db[collection].update({},{$unset:{"myfield":1}},{multi:true});
});
希望这会有所帮助:)