Вы должны использовать модификатор $ unset при обновлении:
Удалить: (самый последний синтаксис)
https://docs.mongodb.com/manual/reference/method/db.collection.update/
db.collection.update(
{},
{
$unset : {
"properties.service" : 1
}
},
{
multi: true
}
);
Обновлено благодаря Xavier Guihot комментарий!
Удалить: (осталось только для ссылки на старый синтаксис)
// db.collection.update (критерии, objNew, upsert, multi)
db.collection.update(
{
"properties.service" : {
$exists : true
}
},
{
$unset : {
"properties.service" : 1
}
},
false,
true
);
Чтобы убедиться, что они были удалены, вы можете использовать:
db.collection.find(
{
"properties.service" : {
$exists : true
}
}
).count(true);
Не забудьте использовать опцию multi как true, если вы хотите обновить несколько записей.
В моем случае я хотел удалить атрибут properties.service из всех записей этой коллекции.