我在后端将它与nodejs一起使用。得到了以下查询:
db.conversations.update(
{ convoId: convoId },
{ $set: { "ids.$[elem].read" : true } },
{ arrayFilters: [ { "elem.id": userId } ] }, (err, data) => {
if(err) {
res.send(err);
}
console.log(data);
res.json(data);
});
现在在前端,当查询完成时,我会返回错误:
"No array filter found for identifier 'elem' in path 'ids.$[elem].read'"
我读到,如果mongodb版本低于3.6,则数组过滤器将不起作用,因此我对其进行了更新,但仍给我相同的错误。
有人知道我在做什么错吗?
答案 0 :(得分:0)
看起来npm mongodb版本是2. *,因为它正在使用驱动程序3.4.2版本。请升级以上的mongodb软件包或3.0.2版本,以使用3.6 mongodb功能。