繁体   English   中英

如何使用猫鼬更新数组中的对象字段

[英]How to update field of object in array with Mongoose

我需要通过id找到一个房间,并将接收到的字段更新为true ,其中用户 id等于xx

文件在这里:

{
    "_id" : ObjectId("5e5d0d870fc69641a41a3c65"),
    "users" : [ 
        ObjectId("5e57d64d92cc878760086980"), 
        ObjectId("5e57d64592cc87876008697e")
    ],
    "messages" : [ 
        {
            "_id" : ObjectId("5e67834b6c8b2d356a4ad9fd"),
            "text" : "Hello",
            "user" : ObjectId("5e57d64d92cc878760086980"),
            "createdAt" : ISODate("2020-03-10T12:08:43.006Z"),
            "sent" : true,
            "received" : false
        }, 
        {
            "_id" : ObjectId("5e6783076c8b2d356a4ad9fc"),
            "text" : "Hello",
            "user" : ObjectId("5e57d64d92cc878760086980"),
            "createdAt" : ISODate("2020-03-10T12:07:35.544Z"),
            "sent" : true,
            "received" : true
        }
    ],
    "createdAt" : ISODate("2020-03-02T13:43:35.522Z"),
    "updatedAt" : ISODate("2020-03-10T12:08:43.006Z"),
    "unReads" : {
        "5e57d64d92cc878760086980" : 1,
        "5e57d64592cc87876008697e" : 5
    },
    "__v" : 0
}

****看起来你的帖子主要是代码; 请添加更多详细信息。****

您需要位置 $ 运算符

Model.update({_id: ObjectId("5e5d0d870fc69641a41a3c65"), "messages.user": ObjectId("5e57d64d92cc878760086980")}, { $set: { "messages.$.received": true } })

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM