mongodb 如何将mongo中的特定查询导出到csv?

mtb9vblg  于 2023-03-22  发布在  Go
关注(0)|答案(3)|浏览(240)

我正在搜索如何将查询结果从mongo导出到CVS或excel,或者如何在robomongo中导出结果。我发现了mongoexport,但我认为它只能导出一些简单约束的集合。
这是我的疑问:

db.getCollection('user').find({ "coins": { $elemMatch: { "id":"30","amount":0} }  })
2uluyalo

2uluyalo1#

对于MongoDB 3.0+,您可以使用 -q--type 选项将查询指定为 mongoexport

mongoexport -d test -c user -q '{ coins: { $elemMatch: { "id":"30","amount":0}}}' --type=csv --out exportdir/myRecords.json

对于早期版本,使用--csv选项和头字段:

mongoexport -d test -c user -q '{ coins: { $elemMatch: { "id":"30","amount":0}}}' --csv -f first_name,last_name,title --out exportdir/myRecords.json
hk8txs48

hk8txs482#

你可以使用forEach来查看每个结果,并使用一个函数来格式化它们。类似于:

db.getCollection('user').find({ "coins": { $elemMatch: { "id":"30","amount":0} }  })
.forEach(function(u){

  print('"' + u._id + '","' + u.amount + '"');

});

然后将输出发送到一个文件。

2admgd59

2admgd593#

mongoexport -d db -c table --type=json -q '{limit(50000)}' --out /tmp/mytestrecords.json

相关问题