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