数组过滤器(mongodb)在我的nodejs后端中不起作用

时间:2018-11-01 21:24:32

标签: javascript node.js mongodb express mongojs

我在后端将它与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,则数组过滤器将不起作用,因此我对其进行了更新,但仍给我相同的错误。

有人知道我在做什么错吗?

1 个答案:

答案 0 :(得分:0)

看起来npm mongodb版本是2. *,因为它正在使用驱动程序3.4.2版本。请升级以上的mongodb软件包或3.0.2版本,以使用3.6 mongodb功能。