Mongoose Nodejs -用增量值更新对象数组



我对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)
});

最新更新