MongoDB-使用增量值更新属性

时间:2018-09-25 18:19:34

标签: mongodb

我有一个叫做经销商的收藏,如下所示。

{
    "_id" : ObjectId("5b9ba196cd5f5af83bb0dc71"),
    "name" : "SOME COMPANY",
    "outletID" : "GS0061920",
    "companyID" : "GC0050397"
}

此集合中大约有5000个文档,其中outletIDcompanyID属性为空。

我想使用增量值来更新此集合中所有文档的这两个属性。

我不确定该怎么做。

注意:正在使用MongoDB 3.4。

1 个答案:

答案 0 :(得分:3)

假设您正在mongodb shell上运行。您可以使用以下内容:

> var counter = 1;
> db.collection.find().forEach(
      function(elem) { 
        db.myColl.update(
          { "outletID" : null, "companyID" : null}, 
          {$set:{ outletID: counter , companyID: counter } 
          }); 
       counter++;
     });

mongo shell是一个交互式JavaScript界面​​。我已经使用JS完成任务。计数器是一个简单的变量,用于更新值。 $ set 用于更新字段。

  

$ set运算符将字段的值替换为指定的值。您可以在其official documentation中找到更多数据。

我创建了一个示例数据并测试了我的功能。希望它能正常工作。 Image showing the commands I ran in shell