null is a valid value for _id, so while that query may be fine for your data, in general it's not guaranteed to produce the empty result set:
MongoDB Enterprise > db.foo.insert({_id:null})
WriteResult({ "nInserted" : 1 })
MongoDB Enterprise > db.foo.find()
{ "_id" : null }
MongoDB Enterprise > db.foo.find({_id:null})
{ "_id" : null }
MongoDB Enterprise >
_id however does need to be present in each document, therefore a query insisting it isn't present should always return the empty result set:
db.foo.find({_id:{$exists:false}})
This only works for queries on top-level documents, naturally.