For example, if I have a document like this
{ a: 1, subdoc: { b: 2, c: 3 } }
How can I convert it into a format like this? (without using project)
project
{ a: 1, b: 2, c: 3 }
You can use MongoDB projection i.e $project aggregation framework pipeline operators as well. (recommended way). If you don't want to use project check this link
$project
db.collection.aggregation([{$project{ . . }}]);
Below is the example for your case:
db.collectionName.aggregate ([ { $project: { a: 1, 'b': '$subdoc.b', 'c': '$subdoc.c'} } ]);
Gives you the output as you expected i.e.
{ "a" : 1, "b" : 2, "c" : 3 }
2.1m questions
2.1m answers
60 comments
57.0k users