У меня возникли проблемы при обновлении с использованием $ elemMatch. Когда я пытаюсь сопоставить или найти, он показывает результат записи.
.updateOne(
{ _id: req.body.sid },
{ $pull: {comments: { $elemMatch: { fid: '5ea9c87d2d5c8f491cae8818' } }}}
).then((res)=>{
console.log(res)
}).catch((err)=>{
console.log(err)
})
В результате получается:
{ n: 1, nModified: 0, ok: 1 }
И это результат запроса с использованием команды find:
.find({
$and: [
{ _id: req.body.sid },
{comments: { $elemMatch: { fid: '5ea9c87d2d5c8f491cae8818' } }}
]
})
Пример c результат поиска:
[
{
_id: 5ea88b12423e6e4b3ce01956,
comments: [{"fid":"5ea9c87d2d5c8f491cae8818","comment":"ok"}, {"fid":"5ea9c87d2d5c8f491cae8899","comment":"ok"}],
date: 2020-04-28T00:00:00.000Z,
title: 'Fotos para o Álbum de ensaios',
__v: 5
}
]
Кто-нибудь может мне помочь? Спасибо !!