Definitely, the simple find will be faster. Because
- It doesn't need to check any index
- It doesn't need to do any filter
Whereas the other query
db.collection.find({field:{$in:[true,false]}})
If you have an index on field then the performance will be better but depends on the total amount of data, cluster resources, schema, etc.
If you do not have an index, it will be slower than #1 as it has to do COLSCAN.
Again, these are all theories. You should try it out with different amounts of data in your cluster and benchmark the results as recommended in the documentation.
When do you need db.collection.find({field:{$in:[true,false]}}) in your case?
It would help if you had this where you have documents that do not fall under either true or false. Otherwise, you can use simple find.