how use mongoexport to export only specific fields in a sub-document

Viewed 20807

is there a way to export only specified fields in a sub-document while using mongoexport? mongo docs says to just use -f field1, field2 etc... but that only works with top level fields. i have a document inside of the main document that also has fields. is there any way to get only those?

Example:

{
    "topField1": "topValue1",
    "topField2": "topValue2",
    "subDoc1: {
                  "subField1": "subValue1",
                  "subField2": "subValue2"
              }
}

is there a way to specify that i ONLY get the field subField2?

i know in a regular mongo query i could use "subDoc1.subField2" which would simply return {"$oid": 122432432, {"subDoc1":{"subField2": "subValue2"}} but this doesn't seem to work with mongoexport.

also i want to export as json.

3 Answers

enter image description here

mongoexport --db db_name --collection collection_name --fields 'No,Name' --out collection_name.json

{"_id":{"$oid":"5b2a1d540e63356357cbff46"},"name":"vijil","dep":"MCA"} {"_id":{"$oid":"5b2a1d5e0e63356357cbff47"},"name":"arul","dep":"MCA"} {"_id":{"$oid":"5b2a1d670e63356357cbff48"},"name":"abessh","dep":"MCA"}

Related