Mongodb соответствует пустому объекту во вложенном документе

Мне просто интересно, возможно ли это сделать в одном запросе?

Учитывая

{
   _id: 1,
   foo: {
     fred: {},          // <- I want to remove empty keys like this
     barney: { bar: 1 } // <- But keep these keys
   }
}

Ожидаемый

{
   _id: 1,
   foo: {
     barney: { bar: 1 }
   }
}

Я знаю, как сделать это в нескольких запросах, но я пытаюсь понять MongoDB лучше.


Примечание. fred становится пустым в команде обновления, такой как {$ unset: {«fred.baz»: 1}} , когда baz является последним ключом в fred .

Может быть, можно удалить его вместе с его содержимым? Но отправитель команды не знает, есть ли другие ключи, кроме баз на данный момент.

-121--1184680- разница между stdint.h и inttypes.h Какая разница между stdint.h и inttypes.h? Если ни один из них не используется, uint64_t не распознается, но для любого из них это определенный тип.

В чем разница между stdint.h и inttypes.h?

Если ни один из них не используется, uint64_t не распознается, но для любого из них это определенный тип.

68
задан Tomasz Nurkiewicz 29 September 2011 в 12:03
поделиться