我在 mongoDB 中使用嵌入式数组,文档如下所示
{
"_id" : ObjectId("516f89b393307a0f73533863"),
"desc" : "LrOBVgWHHRyAxgYdKIwwgATcGTNBlz",
"comments" :[
{
"comment" : "superb",
"likeOrUnlike" : [
{"name":"kk",
"date":"2013/04/11",
"like":true
}
]
}
]
"date" : ISODate("2013-04-18T05:50:43.112Z"),
"title" : "OaTHxDDMoINSaZCHCSNpJLNQyrqXGZ"
}
我想要update
评论中likeOrUnlike数组中的日期和like字段,在这种情况下无法自动更新,所以我想通过代码手动进行(检索整个文档并更新),
在这种情况下会出现并发问题
scenario :
如果两个人同时喜欢相同的评论。
所以解决方案是锁定特定的更新功能
var updateComments = function(id,data){
db.posts.findOne({"_id" :id},function(err,res){
// stuff
//mongo update
});
};
我不能发布整个代码。
我的问题是
如何锁定node.js中的功能?
锁定 node.js 功能是好习惯吗?