在Nodejs中如何锁定mongodb集合以进行查询和更新,然后释放锁定。
我的文件将是这样的。
{
_id:1,
"a" : 1,
"b" : 2,
"x1" : 0.5
}
这是我的代码
lockCollectionUntilCompleteThisFunction(db, 2, "col1", function () {
});
function lockCollectionUntilCompleteThisFunction(db, n, col, callback) {
db.collection(col).findOne({x1: 1}, function (err, doc) {
if (!err) {
var a = doc.a;
var b = doc.b + n;
var x1 = a / b;
var updateDoc = {
b: b,
x1: x1
}
db.collection(col).updateOne({_id: doc._id}, {$set: updateDoc}, function (err) {
if (!error) {
callback(null);
}
else {
callback(err)
}
});
}
else {
callback(err);
}
});
}
所以,我需要的是在执行这个函数时它应该锁定集合。我怎样才能做到这一点。