如何从MongoDB中获取平面文件?

时间:2011-11-01 13:16:48

标签: mongodb

现在,我正在使用mongodumpbsondump从MongoDB中获取文档,然后将正则表达式应用于文档以获取我想要的值。我真正想要的只是一个平面文件,例如,users集合中每个用户的电子邮件地址,在一个平面文件中,然后我可以使用grepuniq进行操作,等

在MySQL中,它是:

mysql < query.sql > outfile.txt

query.sql 文件类似于:

SELECT email FROM users;

但是在Mongo中,当我传入一个.js文件时,我仍然不确定如何输出单个值。

mongo --db test < query.js > outfile.txt

query.js 对于用户集合会是什么?

2 个答案:

答案 0 :(得分:1)

您可以使用forEach通过JavaScript函数运行每个结果,并以您想要的格式打印一行:

db.users.find().forEach(function(user) {
    print(user.email);
});

--quiet命令行选项对于从输出中删除标题行也很有用。

答案 1 :(得分:0)

此问题已经重复here

摘要

mongo 127.0.0.1/db --eval "var c = db.collection.find(); while(c.hasNext()) 
{printjson(c.next())}" >> test.txt