如何获得在一个平面文件蒙戈命令结果(How to get mongo command results

2019-08-01 07:59发布

如何将MongoDB的命令的结果导出到一个平面文件

例如,如果我得到db.collectionname.find()到平面文件。

我试图db.collectionname.find() >> "test.txt"似乎没有工作。

Answer 1:

你可以尝试从以下命令行

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

假设你有一个名为“DB”的本地主机上运行和一个名为“集”收集这都将记录导出到文件名为test.txt的数据库

如果您有要执行你也可以创建一个文件的script.js,只是使用较长的脚本

mongo 127.0.0.1/db script.js >> test.txt

我希望这有帮助



Answer 2:

据我所知,没有办法做到这一点直接从蒙戈外壳,但你可以得到mongoexport执行查询并将结果发送到与-q和-o选项的文件:

mongoexport -h mongo.dev.priv -d models -c profiles -q '{ $query : { _id : "MRD461000" } }' -o MRD_Series1.json

上述命中查询在模型数据库中的配置文件集合抓住了JSON文档_id =“MRD641000”。 我的作品。



Answer 3:

用这个

mongo db_name --username user --password password < query1.js >> result.txt


Answer 4:

已经错过了DB需要是在Peshkira的回答实际分贝,这里是在壳中的一个衬垫一般语法(假设没有密码):

mongo <host>:<db name> --eval "var x = <db name>.<collection name>.<query>; while(x.hasNext()) { printjson( x.next() ) }" >> out.txt

我测试了这两个在我的Mac和谷歌云Ubuntu的15蒙戈3+。



Answer 5:

mongoexport --host 127.0.0.1 --port 27017 --username youruser -p yourpass \
   -d yourDatabaseName -c collectionName --type csv \
   --fields field1,field2 -q '{"field1" : 1495730914381}' \
   --out report.csv


Answer 6:

试试这个 - 返回与查询的数据的JSON文件,你可以为.txt和其他改变以.json。

mongoexport --db产品--collection点击--query '{ “createdInt”:{$ GTE:20190101} “的clientId”: “123”, “国”: “ES”}' --out点击-2019.json



Answer 7:

mongoexport --db DB_NAME --collection集合名称--csv --out file_name.csv -f字段1,字段2,字段3



文章来源: How to get mongo command results in to a flat file