MongoDB的新功能和upsert

时间:2017-06-28 06:07:26

标签: mongodb

我最近开始学习MongoDB。 今天我读到我可以使用以下代码创建序列;

function seq_no(name) { 
    var ret = db.seq_no.findAndModify ({query:{_id:name}, update:{$inc:{next:1}}, "new":true, upsert:true}); 
    return ret.next; 
}

db.order_no.insert({_id:seq_no("order_no"), name:"Jimmy"})

我想知道" new"之间的区别是什么?并在这里竖立。 你会解释一下吗?

1 个答案:

答案 0 :(得分:0)

它们是完全不同的标志

如果 upsert 为true,那么如果尝试更新的行不存在,则会插入新行,如果为false,则表示不执行任何操作。

如果 new 为true,则在更新后返回修改后的文档而不是原始文档,如果为false则返回原始文档