如何将MongoDB的命令的结果导出到一个平面文件
例如,如果我得到db.collectionname.find()
到平面文件。
我试图db.collectionname.find() >> "test.txt"
似乎没有工作。
如何将MongoDB的命令的结果导出到一个平面文件
例如,如果我得到db.collectionname.find()
到平面文件。
我试图db.collectionname.find() >> "test.txt"
似乎没有工作。
你可以尝试从以下命令行
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
我希望这有帮助
据我所知,没有办法做到这一点直接从蒙戈外壳,但你可以得到mongoexport执行查询并将结果发送到与-q和-o选项的文件:
mongoexport -h mongo.dev.priv -d models -c profiles -q '{ $query : { _id : "MRD461000" } }' -o MRD_Series1.json
上述命中查询在模型数据库中的配置文件集合抓住了JSON文档_id =“MRD641000”。 我的作品。
用这个
mongo db_name --username user --password password < query1.js >> result.txt
已经错过了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+。
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
试试这个 - 返回与查询的数据的JSON文件,你可以为.txt和其他改变以.json。
mongoexport --db产品--collection点击--query '{ “createdInt”:{$ GTE:20190101} “的clientId”: “123”, “国”: “ES”}' --out点击-2019.json
mongoexport --db DB_NAME --collection集合名称--csv --out file_name.csv -f字段1,字段2,字段3