How to return the ObjectId or _id of an document in MongoDB? and error "$in needs an array"
mongodb, nosql, objectid
Solution
I got it! Actually , I could do it by this code:
Instead of putting just :
user = db.users.findOne({userName:"And"})
I did just :
var user = db.users.findOne({userName:"And"})
and
user._id
returns the ObjectId("someId") , if I want to keep it in some variable I do:
var Id = user._id.
About the second question, I dont know.
Problem
I have a document in MongoDB and I would like to get the ObjectId of this document, but I did not find so far a method that does this to me. Example of query : ``` user= db.users.find({userName:"Andressa"}) ``` This returns this : ``` { "_id" : ObjectId("53b1c579bdf3de74f76bdac9"), "userid" : 0, "userName" : "Andressa", "userEmail" : "dessa_beca@hotmail.com", "teams" : [ 1, 2, 3 ] } ``` I want get the ObjectId to do another query . Example: ``` userID = `user._id();` //but this does not work, of course, its an example ``` So, I could user the ObjectId to do another query like this: ``` userFind = db.users.find({_id: userID}) ``` UPDATE: This code : ``` db.teams.find({_id:{$in: user.teams}}) ``` returns this error: ``` error: { "$err" : "Can't canonicalize query: BadValue $in needs an array", "code" : 17287 ``` Does someone know it?