Сценарий
У меня есть документ беседы в mongodb, я должен добавить сообщения в массив сообщений и обновить дату последней отправки, см. Схему ниже.
{
"_id" : NumberInt(5),
"CurrentOwnerId" : NumberInt(9),
"LastSent" : ISODate("2019-06-21T11:57:32.861+0000"),
"Messages" : [
{
"_id" : BinData(3, "nuC1iYTKtkGzSuv7pVHsKg=="),
"MessageContent" : "Hi There",
"Status" : "Pending",
"DateSent" : ISODate("2019-06-21T11:57:32.861+0000"),
"Method" : "Slack"
}
]
}
Мой вопрос
Было бы эффективнее просто прочитать весь документ (используя BsonId
) и обновить документ с помощью c # в целом, т.е. отправить мое сообщение намассив и установка последнего отправленного дня, а затем обновление документа в целом с помощью драйвера ИЛИ два вызова базы данных с использованием операторов $ set и $ push для достижения того, что я хочу сделать.