这是正确的为什么在mongodb中创建自动增量?

时间:2017-09-25 10:41:39

标签: node.js mongodb

这是一个正确的原因,为mongodb ????

中的每个集合创建自动增量方法
function counter(colName, callback)
    {
        MongoClient.connect(url, function(err, db){
            db.collection(colName).find().count(callback);
        });

    }
    function myInsert(obj, colName)
    {
        MongoClient.connect(url, function(err, db){
            counter(colName, function(err, data){
                obj._id=data+1;
                console.log(obj);
                db.collection(colName).insert(obj, function(err, res){
                    console.log("Inserted");
                }); 
            });

        });

    }
    myInsert({ "name" : "India" }, "hello");

1 个答案:

答案 0 :(得分:0)

这可以通过两种方法实现。

1)Counters Collection

使用单独的计数器集合来跟踪最后使用的数字序列。 _id字段包含序列名称,seq字段包含序列的最后一个值。

2)Optimistic Loop

在此模式中,乐观循环计算递增的_id值并尝试插入具有计算的_id值的文档。如果插入成功,则循环结束。否则,循环将迭代可能的_id值,直到插入成功。