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タイプ(タイプ番号)です:item
null
Null
10
db.inventory.find( { item : { $type: 10 } } )