MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

MongoDB:Как да поискам записи, където полето е нула или не е зададено?

Ако sent_at полето не е там, когато не е зададено тогава:

db.emails.count({sent_at: {$exists: false}})

Ако е там и е нула, или изобщо не е там:

db.emails.count({sent_at: null})

Ако е там и е нула:

db.emails.count({sent_at: { $type: 10 }})

Разделът „Заявка за нулеви или липсващи полета“ в ръководството на MongoDB описва как да направите заявка за нулеви и липсващи стойности.

Филтър за равенство

{ item : null } заявката съответства на документи, които или съдържат полето за елемент, чиято стойност е null или които не съдържат item поле.

db.inventory.find( { item: null } )

Проверка на съществуването

Следният пример прави заявки за документи, които не съдържат поле.

{ item : { $exists: false } } заявката съответства на документи, които не съдържат item поле:

db.inventory.find( { item : { $exists: false } } )

Проверка на типа

{ item : { $type: 10 } } заявката съвпада само документи, които съдържат item поле, чиято стойност е null; т.е. стойността на полето за елемент е от тип BSON Null (тип номер 10 ) :

db.inventory.find( { item : { $type: 10 } } )


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. ScaleGrid обявява MongoDB хостинг услуги в Канада

  2. Урок за PyMongo:Тестване на отказ на MongoDB във вашето Python приложение

  3. Изберете документи, където всички стойности в полето на масива съществуват в друг масив

  4. Монго комплексно сортиране?

  5. Грешка в MongoDB:Не може да се използва повторно записване с limit=0