Я использую команду mongo «$unset
», чтобы удалить все соответствующие документы по определенным критериям, где индекс неизвестен.
Допустим, коллекция выглядит так: -
{
"_id" : 1,
"list" : [
{
"key" : "a"
},
{
"key" : "b"
},
{
"key" : "c"
}
]
}
Команда оболочки Mongo, используемая для сброса ключей, соответствующих "b":-
db.test.update({"list.key":"b"}, {$unset: {'list.$.key':"b"}})
Результат:-
{
"_id" : 1,
"list" : [ {"key" : "a"}, {}, {"key" : "c"} ]
}
Ответ необходим для: - Как удалить пустой объект массива?
Примечание. Я читал страницы, предлагающие использовать $pull:null
, но здесь это не подходит.
Спасибо!