Nie można mieszać włączenia i wykluczenia, tylko wyjątkiem jest _id
pole.
Na przykład, jeśli masz to:
{
"_id": ObjectId("53d1fd30bdcf7d52c0d217de"),
"name": "bill",
"birthdate": ISODate("2014-07-80T00:00:00.000Z"),
"created": ISODate("2014-07-25T06:44:38.641Z")
}
Jeśli chcesz tylko „imię” i „datę urodzenia”, musisz to zrobić:
db.collection.find({},{ "_id": 0, "name": 1, "birthdate": 1 })
Albo to:
db.collection.find({},{ "_id": 0, "created": 0 })
Ale nie wolno "mieszać" żadnych innych operacji poza "_id"
db.collection.find({},{ "_id": 0, "name": 1, "created": 0 })
To również spowodowałoby błąd.
To wszystko jest omówione na stronach podręcznika.