Как удалить поле в коллекции mongodb? - PullRequest
0 голосов
/ 18 декабря 2018

У меня есть сбор данных в mongodb, как показано ниже:

{
    { "_id" : ObjectId("1"), "name" : "ABC", "group" : [ObjectId("11"), ObjectId("12"), ObjectId("13")]}
    { "_id" : ObjectId("2"), "name" : "DEF", "group" : [ObjectId("21"), ObjectId("22"), ObjectId("23")]}
}

Я хочу удалить ObjectId("11") в поле group в документе ObjectId("1").

Я попробовалкод ниже:

aId = "1" 
bId = "11"
db.collection.updateOne({ _id: ObjectId(aId) }, { $pull: { group: { _id: ObjectId(bId) } } })

Но не удалось.

Я также пытался:

aId = "1" 
bId = "11"
db.collection.updateOne({ _id: aId }, { $pull: { group: { _id: bId } } })

Но все равно не смог удалить его.

Что-то не такс моим кодом?

1 Ответ

0 голосов
/ 18 декабря 2018

Используйте $unset следующим образом:

db.products.update(
{ sku: "unknown" },
{ $unset: { quantity: "", instock: "" } })

Этот код удалит количество полей и запас из первого документа в коллекции продуктов, где значение sku поля неизвестно. Для получения дополнительной информации

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...