如何使用mongoexport仅导出子文档中的特定字段

时间:2011-07-14 17:59:52

标签: json mongodb

有没有办法在使用mongoexport时只导出子文档中的指定字段? mongo docs说只使用-f field1,field2等......但这只适用于顶级字段。我在主文档中有一个文档,也有字段。有没有办法只获得那些?

示例:

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

有没有办法指定我只获取字段subField2?

我知道在常规的mongo查询中,我可以使用“subDoc1.subField2”,这很简单 return {"$oid": 122432432, {"subDoc1":{"subField2": "subValue2"}}但这似乎不适用于mongoexport

我也希望导出为json

3 个答案:

答案 0 :(得分:16)

使用dotnotation会出现什么样的错误?我正在运行mongoDB 1.8.2,对我来说有以下工作:

mongoexport -d dbName -c collectionName -f subDoc1.subField2 --csv -o /path/to/file.csv

CSV看起来像这样

subDoc1.subField2 #header with field names
"subValue2" #actual entry

答案 1 :(得分:0)

enter image description here mongoexport --db db_name --collection collection_name --fields'No,Name' - out collection_name.json

  

{ “_ ID”:{ “$ OID”: “5b2a1d540e63356357cbff46”}, “名称”: “vijil”, “DEP”: “MCA”}   { “_id”:{ “$ OID”: “5b2a1d5e0e63356357cbff47”}, “名”: “了Arul”, “出发”: “MCA”}   { “_id”:{ “$ OID”: “5b2a1d670e63356357cbff48”}, “名称”: “abessh”, “DEP”: “MCA”}

答案 2 :(得分:-1)

如果在这种情况下我们不确定子文档值.i.e:subField1subField2,但我们需要的只是提取子集合的第一个字段。 mongoexport可以处理吗?