У меня есть структуру документа, как это:Как обновить/удалить несколько индексов во вложенном массиве MongoDB
{
"_id" : "1234",
"name" : "foo",
"bar" : [
{"some0":"value0"},
{"some1":"value1"},
{"some2":"value2"}
]
}
И я просто хочу, чтобы удалить объекты в гнездовой «бар» массив его индексов в массиве например У меня есть массив индексов, например [0,2], который должен удалять «some0» и «some2» из массива.
Я знаю, что Монго в настоящее время не имеет возможности удалить значения по индексу атомарно и обычно this используется вместо:
db.lists.update({}, {$unset : {"bar.0" : 1 }})
db.lists.update({}, {$pull : {"bar" : null}})
Вопрос: Есть ли более эффективный способ сделать это если мой массив для удаления индексов становится довольно большим (> 100), чем зацикливание над ними вручную и выполняет 2 модификации для каждого из них.
Мой вопрос состоял в том, что если есть более эффективный способ сделать это для большого количества индексов, чем зацикливание над ними и сделать 2 модификации для каждого из них. Я должен сделать это более ясным в вопросе –