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マニュアルの「ヌルまたは欠落フィールドのクエリ」セクションでは、ヌル値と欠落値をクエリする方法について説明しています。
平等フィルター
{ item : null }クエリは、値がであるかフィールドを含まないアイテムフィールドを含むドキュメントと一致null しますitem。
db.inventory.find( { item: null } )
存在チェック
次の例では、フィールドを含まないドキュメントをクエリします。
クエリは、フィールド{ item : { $exists: false } }を含まないドキュメントと一致します。item
db.inventory.find( { item : { $exists: false } } )
タイプチェック
{ item : { $type: 10 } }クエリは、値が;であるフィールドを含むドキュメントのみに一致します。つまり、アイテムフィールドの値はBSONタイプ(タイプ番号)です:itemnull Null10
db.inventory.find( { item : { $type: 10 } } )