If I have a mongodb collection users like this:
{
"_id": 1,
"name": {
"first" : "John",
"last" :"Backus"
},
}
How do I retrieve name.first from this without providing _id or any other reference. Also, is it possible that pulling just the `name^ can give me the array of embedded keys (first and last in this case)? How can that be done?
db.users.find({"name.first"}) didn’t work for me, I got a:
SyntaxError “missing: after property id (shell):1
The first argument to
find()is the query criteria whereas the second argument to thefind()method is a projection, and it takes the form of a document with a list of fields for inclusion or exclusion from the result set. You can either specify the fields to include (e.g.{ field: 1 }) or specify the fields to exclude (e.g.{ field: 0 }). The_idfield is implicitly included, unless explicitly excluded.In your case, db.users.find({name.first}) will give an error as it is expected to be a search criteria.
To get the name json :
db.users.find({},{name:1})If you want to fetch only name.first
Mongodb Documentation link here