|
I have a Mongo database where in the users collection I have just 1 document. I do a find() and a findOne() operation using the username filter. I get what I think is an incorrect result from find() operation.
See the find operation is returning user exists which is not true. findOne() is behaving correctly.
> use lab2
|
switched to db lab2
|
> db.users.find()
|
{ "_id" : ObjectId("5807ac0765f24dd0660e4332"), "username" : "avtrulzz", "fname" : "Abc", "lname" : "Def", "email" : "test@yahoo.co.in", "password" : "rootuser", "mobile" : NumberLong(1234567890) }
|
> db.users.findOne()
|
{
|
"_id" : ObjectId("5807ac0765f24dd0660e4332"),
|
"username" : "avtrulzz",
|
"fname" : "Abc",
|
"lname" : "Def",
|
"email" : "test@yahoo.co.in",
|
"password" : "rootuser",
|
"mobile" : NumberLong(1234567890)
|
}
|
> if (db.users.find({username : "noSuchUsername"})) {
|
... print ("Username exists");
|
... } else {
|
... print ("User does not exist"); }
|
Username exists
|
> if (db.users.findOne({username : "noSuchUsername"})) { print ("Username exists"); } else { print ("User does not exist"); }
|
User does not exist
|
> if (db.users.findOne({username : "avtrulzz"})) { print ("Username exists"); } else { print ("User does not exist"); }
|
Username exists
|
>
|
|