这是一个正确的原因,为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");
答案 0 :(得分:0)
这可以通过两种方法实现。
使用单独的计数器集合来跟踪最后使用的数字序列。 _id字段包含序列名称,seq字段包含序列的最后一个值。
在此模式中,乐观循环计算递增的_id值并尝试插入具有计算的_id值的文档。如果插入成功,则循环结束。否则,循环将迭代可能的_id值,直到插入成功。