Я добавил атрибут MiddleName к объекту Customer. Клиент - это простой экземпляр Object(). Я хочу удалить этот атрибут из моего объекта. Как я могу это сделать? Я использую интерактивную консоль MongoDb.
Как удалить атрибут из объекта MongoDb?
Ответ 1
Вы должны использовать модификатор $ unset при обновлении:
Для удаления: (самый последний синтаксис) https://docs.mongodb.com/manual/reference/method/db.collection.update/
db.collection.update(
{},
{
$unset : {
"properties.service" : 1
}
},
{
multi: true
}
);
Обновлено благодаря комментарию Ксавье Гихота !
Удалить: (оставлено только для справки о старом синтаксисе)
//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 из всех записей этой коллекции.