我正在搜索如何将查询结果从mongo导出到CVS或excel,或者如何在robomongo中导出结果。我找到了mongoexport,但我认为只能导出一个带有一些简单约束的集合。
这是我的疑问:
db.getCollection('user').find({ "coins": { $elemMatch: { "id":"30","amount":0} } })
答案 0 :(得分:10)
对于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
答案 1 :(得分:7)
您可以使用forEach查看每个结果和一个函数来格式化它们。类似的东西:
db.getCollection('user').find({ "coins": { $elemMatch: { "id":"30","amount":0} } })
.forEach(function(u){
print('"' + u._id + '","' + u.amount + '"');
});
然后只需将输出发送到文件。