在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" }