Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/467.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Mongoose通过多个过滤器更新对象数组_Javascript_Node.js_Mongodb_Mongoose - Fatal编程技术网

Javascript Mongoose通过多个过滤器更新对象数组

Javascript Mongoose通过多个过滤器更新对象数组,javascript,node.js,mongodb,mongoose,Javascript,Node.js,Mongodb,Mongoose,以下是人物模型: { number: String, password: String, contacts: [{ number: String, alias: String, lastMessage: Object }] } 现在我想更新最后一个消息字段,其中number和contacts.number具有特定值。我使用的查询是: Person.updateMany({ $or: [ {

以下是人物模型:

{
    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 } })
因此,每当发送消息时,我都要更新最后一条消息。然而,通过这个查询,我得到了一个错误。请告诉我应该使用什么查询来达到想要的效果。

看看这个答案: