Node.js nodejs中的Mongo集合锁
在Nodejs中,如何锁定mongodb集合进行查询和更新,然后释放锁 我的文档将是这样的。Node.js nodejs中的Mongo集合锁,node.js,mongodb,locking,Node.js,Mongodb,Locking,在Nodejs中,如何锁定mongodb集合进行查询和更新,然后释放锁 我的文档将是这样的。 { _id:1, “a”:1, “b”:2, “x1”:0.5 } 这是我的密码 lockCollectionUntilCompleteThisFunction(db, 2, "col1", function () { }); function lockCollectionUntilCompleteThisFunction(db, n, col, callback) { db.collecti
{
_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);
}
});
}
因此,我需要的是,在执行此函数时,它应该锁定集合。如何实现这一点。为什么需要锁定完整收集?我不希望其他进程在查找查询和更新查询之间使用此“x1”字段。