sent_at
の場合 設定されていない場合、フィールドはありません:
db.emails.count({sent_at: {$exists: false}})
そこにあり、nullの場合、またはまったくない場合:
db.emails.count({sent_at: null})
そこにありnullの場合:
db.emails.count({sent_at: { $type: 10 }})
MongoDBマニュアルの「NullまたはMissingFieldsのクエリ」セクションでは、null値とMissing値をクエリする方法について説明しています。
等式フィルター
{ 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 } } )