MongoDB - 仅在字段不存在时更新字段

时间:2018-01-18 18:12:30

标签: mongodb

如果某个字段不存在,我发现了与我相似的关于更新文档的question。但在这个问题上,它并不是像我一样的文件数组

{
"_id" : ObjectId("5a5f814487c320156094c144"),
"sender_id" : "123",
"iso_number" : "ABC-DEF-123",
"subject" : "Sample Memo",
"content" : "This is a sample memorandum sent through postman.",
"recipients" : [ 
    {
        "faculty_number" : 222,
        "_id" : ObjectId("5a5f814487c320156094c146"),
        "status" : "Sent"
    }, 
    {
        "faculty_number" : 111,
        "_id" : ObjectId("5a5f814487c320156094c145"),
        "status" : "Sent"
    }
],
"memo_created" : ISODate("2018-01-17T17:00:52.104Z"),
"__v" : 0                                                             
}

我正在尝试使用faculty_number 111将memo_seen附加到收件人,我正在使用该查询。

db.getCollection('memos').update({"_id": id, "recipients.faculty_number": faculty_number, "recipients.$.memo_seen": {$exists: false}}, {$set: {"recipients.$.memo_seen": timestamp}})

重复查询时,时间戳不应更新。有人可以帮我吗?已经坚持了一段时间了。

0 个答案:

没有答案