Подтвердить что ты не робот

Удаление ключа/значения из существующей записи MongoDB

Мне нужно удалить определенный ключ и значение из каждой записи в определенной коллекции. Я просмотрел удаление, и это похоже на целые записи. Глядя на обновление, я не верю, что обновление определенного ключа с нулевой или пустой строкой приведет к тому, что я пытаюсь сделать. Я очень начинаю с монгодбом, поэтому, пожалуйста, извините мое невежество.

Короче говоря, как я могу повернуть

{
  "_id" : 1234,
  "name" : "Chris",
  "description" : "Awesome"
}

в

{
  "_id" : 1234,
  "name" : "Chris"
}

не удаляя запись и не создавая новую, или используя любые команды, отличные от mongodb? Спасибо!

4b9b3361

Ответ 1

Попробуйте $unset в вызове update().

Другими словами,

db.collection_name.update({ _id: 1234 }, { $unset : { description : 1} });

должен работать. Ссылка.

Ответ 2

Чтобы ссылаться на пакет и удалять различные "ключи", попробуйте это

db['name1.name2.name3.Properties'].remove([ { "key" : "name_key1" }, { "key" : "name_key2" }, { "key" : "name_key3" } )]

Ответ 3

Также подумайте о upsert(), который вставляет вашу строку в новый документ, если _id не существует или обновляет существующий документ, если он есть.