【问题标题】:MongoDB: Perform same operation across multiple collectionsMongoDB:跨多个集合执行相同的操作
【发布时间】:2015-11-26 05:39:23
【问题描述】:

我使用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 中的集合名称/

【问题讨论】:

    标签: mongodb


    【解决方案1】:

    您可以使用以下代码 sn-p 来执行此操作:

    db.getCollectionNames().forEach(function(collection){
        db[collection].update({},{$unset:{"myfield":1}},{multi:true});
    });
    

    希望这会有所帮助:)

    【讨论】:

      猜你喜欢
      • 2017-05-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-05
      • 2017-04-03
      • 2021-07-25
      相关资源
      最近更新 更多