mongodb通过将值增加1来更新所有文档

mongodb通过将值增加1来更新所有文档,mongodb,Mongodb,我在mongoDB中有几个文档,文档结构如下 { "a":"abc", "myid":2 } 我想用1更新所有文档的“myid”。例如,对于第一个文档myid=1,对于第二个文档myid=2,依此类推。是否有查询?创建一个名为Counter的单独集合来跟踪最后一个序列号 db.counters.insert( { _id: "userid", seq: 0 }); 并创建一个函数来获取计数器集合的seq值 function getNex

我在mongoDB中有几个文档,文档结构如下

{
"a":"abc",
"myid":2
}

我想用1更新所有文档的“myid”。例如,对于第一个文档myid=1,对于第二个文档myid=2,依此类推。是否有查询?

创建一个名为Counter的单独集合来跟踪最后一个序列号

    db.counters.insert(
    {
        _id: "userid",
        seq: 0
    });
并创建一个函数来获取计数器集合的seq值

function getNextSequence(name) {
      var ret = db.counters.findAndModify(
      {
        query: { _id: name },
        update: { $inc: { seq: 1 } },
        new: true
      });
      return ret.seq;
}
并按如下方式递增自动递增字段

db.collection.insert({
   "a":"abc",
   "myid": getNextSequence("userid")
});
我希望这将对您有所帮助。

尝试以下查询:

db.collection.updateMany(
 {},
 {$inc:{myid:1}}
)

请检查下面的答案。