猫鼬通过多个过滤器更新对象数组

时间:2020-11-02 05:28:54

标签: javascript node.js mongodb mongoose

以下是Person的模型:

{
    number: String,
    password: String,
    contacts: [{
        number: String,
        alias: String,
        lastMessage: Object
    }]
}

现在,我要更新最后一个消息字段,其中number和contacts.number具有特定值。我正在使用的查询是:

Person.updateMany({
    $or: [
        { $and: [{ number: req.body.from}, {"contacts.number": req.body.to }] },
        { $and: [{ number: req.body.to}, {"contacts.number": req.body.from }] }
    ]
},
    { $set: { "contacts.$.lastMessage": message } })

因此,我想在发送消息时更新lastMessage。但是,与此查询,我得到一个错误。请告诉我我应该使用哪种查询来达到想要的效果。

0 个答案:

没有答案