Например, у меня есть документ
db.test.save({_id: 1, list:[
{key: "a"},
{key: "b"},
{key: "c"},
{key: "d"},
{key: "e"}
]})
и мне нужно удалить второй элемент из списка. Сейчас я делаю это в два этапа. Во-первых, я сбрасываю второй элемент списка, но оператор unset не удаляет элемент, он будет нулевым, после чего я вытаскиваю любое обнуляемое значение из поля списка
db.test.update({_id: 1}, {$unset: {"list.2": 1}})
db.test.update({_id: 1}, {$pull: {list: null}})
Я хочу спросить, есть ли решение сделать это за одну операцию?