我有一个名为Conversations
的Mongo集合,其架构如下:
{
"_id" : "string",
"participants" : [ "strings", "..." ],
"messages" : [
{
"_id" : "string",
"message" : "contents of the message",
"sent" : "date sent",
"read" : false
}, ...
]
}
使用Conversations._id
值和Conversations.messages[?]._id
值,我需要能够更新该消息的read
字段。 Conversations.messages._id
值在所有邮件文档中都是唯一的。
我一直在做一些研究,而且我会相信我应该使用某种类型的聚合?我是否在正确的轨道上?
答案 0 :(得分:1)
要更新Mongo嵌套数组字段,请检查此mongo update
以下查询将更新messages.read
db.converstaion.update({"_id" :"youstringId","messages":{"$elemMatch":{"_id":"msg string id"}}},
{"$set":{"messages.$.read":true}})