当我使用var时猫鼬更新失败,但当使用常数时成功更新猫鼬?

时间:2019-03-28 02:43:53

标签: node.js mongoose

我尝试编写一个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

1 个答案:

答案 0 :(得分:1)

{oldActiveCode : oldTime}{"1000812001401": 1553503004448}不同。前者设置oldActiveCode属性,而后者设置1000812001401属性。

如果属性应为1000812001401,则应将其计算为属性{[oldActiveCode] : oldTime}