在 MongoDB 中修改序列


要修改序列,请使用 findAndModify()。让我们使用文档创建集合 −

> db.demo261.insertOne({_id:100,Name:"Chris"});
{ "acknowledged" : true, "insertedId" : 100 }

通过 find() 方法显示集合中的所有文档 −

> db.demo261.find();

这将生成以下输出 −

{ "_id" : 100, "Name" : "Chris" }

以下是修改序列的查询 −

> db.demo262.insert({_id:"newId",sequence_value:0})
WriteResult({ "nInserted" : 1 })
> function getNext(sName){
...
...   var d= db.demo262.findAndModify({
...      query:{_id: sName},
...      update: {$inc:{sequence_value:1}},
...      new:true
...   });
...   return d.sequence_value;
...}

以下是调用以上函数在 MongoDB 中生成序列的查询 −

> db.demo261.insert({
...   "_id":getNext("newId"),
...   "Name":"Chris"
... })
WriteResult({ "nInserted" : 1 })
> db.demo261.insert({    "_id":getNext("newId"),   "Name":"Bob" })
WriteResult({ "nInserted" : 1 })

通过 find() 方法显示集合中的所有文档 −

> db.demo261.find();

这将生成以下输出 −

{ "_id" : 100, "Name" : "Chris" }
{ "_id" : 1, "Name" : "Chris" }
{ "_id" : 2, "Name" : "Bob" }

更新于: 31-Mar-2020

262 次浏览

开启你的 职业生涯

通过完成课程获得认证

开始
广告