MongoDB Documentation, Release 3.0.4 db.test.find( { cancelDate: null } ) The query returns both documents: { "_id" : 1, "cancelDate" : null } { "_id" : 2 } The { cancelDate : { $type: 10 } } query matches documents that contains the cancelDate field whose value is null only ; i.e. the value of the cancelDate field is of BSON Type Null (i.e. 10 ) : db.test.find( { cancelDate : { $type: 10 } } ) The query returns only the document that contains the null value: { "_id" : 1, "cancelDate" : null } The { cancelDate : { $exists: false } } query matches documents that do not contain the cancelDate field: db.test.find( { cancelDate : { $exists: false } } ) The query returns only the document that does not contain the cancelDate field: { "_id" : 2 } The reference documentation for the $type and $exists operators. Collection names can be any UTF-8 string with the following exceptions: However, for maximum flexibility, collections should have names less than 80 characters. If your collection name includes special characters, such as the underscore character, then to access the collection use the db.getCollection() method or a similar method for your driver$^{9}$. 11.2.16 Are there any restrictions on the names of Collections? See also: Example Existence Check Type Check $^{9}$https://api.mongodb.org/ 753 11.2. FAQ: MongoDB for Application Developers • A collection name should begin with a letter or an underscore. • The empty string ( "" ) is not a valid collection name. • Collection names cannot contain the $ character. (version 2.2 only) • Collection names cannot contain the null character: \0 • Do not name a collection using the system. prefix. MongoDB reserves system. for system collections. • The maximum length of the collection namespace, which includes the database name, the dot ( . ) separator, and the collection name (i.e. <database>.<collection> ), is 120 bytes.