#javascript #node.js #mongodb
#javascript #node.js #mongodb
Вопрос:
У меня есть следующий объект, хранящийся в MongoDB. Я отправляю messageRead
атрибут внутри своего messages
массива.
Я пытался:
collection.updateOne({ '_id': ObjectId(employeeID) },
{
"$set": {
"userObject.messages.message.message_uuid" : { employeeMessageUpdateUUID, "messageRead" : employeeMessageRead }
}
но это не работает. Я нахожу объект, который ищу, с помощью _id
, а затем пытаюсь найти message
, используя message_uuid
, однако messageRead
атрибут не обновляется. Я явно использую неправильный запрос Mongo.. Как я должен $set
выглядеть?
Ответ №1:
Для этого вы можете использовать $ operator:
collection.updateOne(
{
'_id': ObjectId(employeeID),
'userObject.messages.message.message_uuid': employeeMessageUpdateUUID
},
{
$set: { 'userObject.messages.$.message.messageRead': employeeMessageRead }
}
)...