6

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

这是我的查询:

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

2 回答 2

11

对于 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
于 2015-08-10T22:35:52.340 回答
9

您可以使用 forEach 查看每个结果并使用函数来格式化它们。就像是:

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

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

});

然后只需将输出发送到文件。

于 2015-08-10T23:11:57.137 回答