我对nodejs很陌生。目前,我正在做一个增量值到一个数组对象。我有一个错误后,写这段代码。我想增加linkview
的值。我发现了一些类似于我的问题猫鼬-增加对象数组内的值,但我仍然无法解决它。请帮助
这是User
模式
{
"_id": "67324b2cc6817758118e9557d8",
"name": "James",
"__v": 0,
"affiliatelink": [
{
"storeId": 60014d6e7286763490c3543,
"storeName": white choc,
"linkview": 1
}
]
}`
这是我的代码错误是MongoError: The positional operator did not find the match needed from the query
Admin.findByIdAndUpdate({ _id: adminId }, {$inc: {"affiliatelink.$.linkview": 1}}, function(err, result) {
console.log("ni error "+err)
//if (err) return next(err)
});
您需要指定对象数组中要更新的对象affiliateLink
你可以使用下面的查询并尝试一下:
Admin.findOneAndUpdate(
{
_id: adminId,
"affiliateLink.storeId": "60014d6e7286763490c3543"
},
{
$inc: {
"affiliateLink.$.linkView": 1
}
},
function(err, result) {
console.log("ni error "+err)
//if (err) return next(err)
});