我尝试编写一个js脚本以在mongo中的数组中提取一个元素。
//这不起作用,返回“ {ok:1,nModified:0,n:1}”
db.userModel.updateOne({"_id":userId}, {"$pull" : {"draw.awardList":{oldActiveCode : oldTime}}}, function(err, res) ..
//这一项工作,
db.userModel.updateOne({"_id":userId}, {"$pull" : {"draw.awardList":{"1000812001401": 1553503004448}}}, function(err, res)
//但当我比较时,它似乎相等
console.log("+++",("1000812001401" === oldActiveCode), (oldTime === 1553503004448))
输出:+++ true true
答案 0 :(得分:1)
{oldActiveCode : oldTime}
和{"1000812001401": 1553503004448}
不同。前者设置oldActiveCode
属性,而后者设置1000812001401
属性。
如果属性应为1000812001401
,则应将其计算为属性{[oldActiveCode] : oldTime}
。