У нас есть коллекция MongoDB:
[
{
"field1": {
"key1": true,
"key2": false
}
},
{
"field1": {
"key1": true,
"key2": true
}
}
...
...
]
который нам нужно обновить с условием на field1
которое является объектом.
Мы использовали такой запрос:
document.update({
{ field1: { key1: false, key2: true } }
}, {
$set: required updates
}, {
multi: true
})
.then(() => {})
.catch((err) => {});
однако, похоже, это не имеет эффекта.
Как мы это исправим?
Попробуйте этот код:
document.update(
{
$and: [{ "field1.key1": false }, { "field1.key2": true }]
},
{
$set: required updates // It (required updates) should be an object
},
{
multi: true
})
.then(() => { })
.catch((err) => { });
Надеюсь, это даст вам идею!
Вы должны использовать .Dot
обозначения для полей внутри объекта
document.update(
{ "field1.key1": false, "field1.key2": true },
{ "$set": required updates },
{ "multi": true }
)
.Dot
для полей внутри объекта ... А также какиеrequired updates
содержатся?