我正在搜索如何将查询结果从mongo导出到CVS或excel,或者如何在robomongo中导出结果。我发现了mongoexport,但我认为它只能导出一些简单约束的集合。这是我的疑问:
db.getCollection('user').find({ "coins": { $elemMatch: { "id":"30","amount":0} } })
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
hk8txs482#
你可以使用forEach来查看每个结果,并使用一个函数来格式化它们。类似于:
db.getCollection('user').find({ "coins": { $elemMatch: { "id":"30","amount":0} } }) .forEach(function(u){ print('"' + u._id + '","' + u.amount + '"'); });
然后将输出发送到一个文件。
2admgd593#
mongoexport -d db -c table --type=json -q '{limit(50000)}' --out /tmp/mytestrecords.json
3条答案
按热度按时间2uluyalo1#
对于MongoDB 3.0+,您可以使用 -q 和 --type 选项将查询指定为 mongoexport:
对于早期版本,使用--csv选项和头字段:
hk8txs482#
你可以使用forEach来查看每个结果,并使用一个函数来格式化它们。类似于:
然后将输出发送到一个文件。
2admgd593#