title: Select MongoDB documents where a field either does not exist, is null, or is false?
body: <p>Suppose I have a collection that contains the following documents:</p>
  
  <pre><code>{ "_id": 1, name: "Apple" }
  { "_id": 2, name: "Banana", "is_reported": null }
  { "_id": 3, name: "Cherry", "is_reported": false }
  { "_id": 4, name: "Kiwi",   "is_reported": true }
  </code></pre>
  
  <p>Is there a simpler query to select all documents where "is_reported" is in a falsy state; that is, either non-existent, null, or false?  That is, a query that selects Apple, Banana, and Cherry, but not Kiwi?</p>
  
  <p><a href="http://docs.mongodb.org/manual/faq/developers/#faq-developers-query-for-nulls">According to the MongoDB FAQ</a>, <code>{ "is_reported": null }</code> will select documents where "is_reported" is either null or nonexistent, but it still doesn't select documents where "is_reported" is false.</p>
  
  <p>Right now I have the following query, which works fine, but it just doesn't seem very elegant.  If there are multiple fields that I need to select on, it gets messy very fast.  Is there a better query that achieves the same end result?</p>
  
  <pre><code>db.fruits.find({ $or: [ { "is_reported": null }, { "is_reported": false } ] })
  </code></pre>