У меня есть следующая коллекция "SaleOrderCol":
{
_id: ObjectId('1000'),
products: [
{ _id: ObjectId('1001'), name: 'ProdA', qty: 5},
{ _id: ObjectId('1002'), name: 'ProdB', qty: 10}
]
},
{
_id: ObjectId('2000'),
products: [
{ _id: ObjectId('2001'), name: 'ProdA', qty: 5},
{ _id: ObjectId('2002'), name: 'ProdC', qty: 10}
]
}
Я хочу сделать upsert, чтобы изменить имя и количество поддокументов (1002) и попробовать ниже:
SaleOrderCol.updateOne(
{
"_id": ObjectId('1000'),
"products._id": ObjectId('1002')
},
{
$set : { "products": { name: 'ProdBB', qty: 15 }
},
{ upsert: true }
)
Выдает ошибку. Как заставить его работать? Спасибо