有没有办法在使用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
。
答案 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)
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:subField1
或subField2
,但我们需要的只是提取子集合的第一个字段。
mongoexport可以处理吗?