我在32位Windows7机器上使用MongoDB 2.2.2.我有一个复杂的聚合查询.js文件.我需要在shell上执行这个文件,并将输出定向到CSV文件.我确保查询返回一个"平面"json(没有嵌套键),因此它本质上可以转换为整洁的csv

谢谢你的帮助:)

推荐答案

我知道这个问题很老,但我花了一个小时试图将复杂的查询导出到csv,我想分享我的 idea .首先,我无法让任何json到csv转换器工作(尽管this个转换器看起来很有希望).我最后做的是在我的mongo脚本中手动编写csv文件.

这是一个简单的版本,但本质上是我做的:

print("name,id,email");
db.User.find().forEach(function(user){
  print(user.name+","+user._id.valueOf()+","+user.email);
});

这是我刚刚通过管道向stdout发送的查询

mongo test export.js > out.csv

其中test是我使用的数据库的名称.

Mongodb相关问答推荐

无法在Ubuntu 22.04上安装MongoDB 7.0

定期自动轮换 MongoDb 集合

MongoDB - 文档中多个数组大小的总和

更新文档中的数组时,如何在 MongoDB 和 C# 中使用 $push 更新修饰符

是否可以迭代 mongo 游标两次?

为什么 MongoDB 配置服务器必须只有一个或三个?

Mongoose 架构引用和未定义类型ObjectID

更新 mongodb 文档中的特定字段

Node.js 和 Passport 对象没有方法 validPassword

Select 匹配mongodb中两个字段的concat值的记录

升级mongodb

如何在mongoose中加入两个集合

无法连接到远程 mongodb 服务器

NumberLong和简单整数之间的MongoDB区别?

Mongo:无法在 src/mongo/shell/mongo.js:145 连接到服务器 127.0.0.1:27017

120 个 mongodb 集合与单个集合 - 哪个更有效?

如何使用 mgo 从 golang 中的 mongodb 集合中 Select 所有记录

无法在 mac os 10.9 上安装 mongodb php 驱动程序

MongoDb - 利用多 CPU 服务器进行写入繁重的应用程序

哪个数据库适合我的应用程序 mysql 或 mongodb ?使用 Node.js 、 Backbone 、 Now.js