2012-10-10 26 views

Trả lời

58

bạn có thể thử cách sau từ dòng lệnh

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

giả sử bạn có một cơ sở dữ liệu được gọi là 'db' chạy trên localhost và một bộ sưu tập được gọi là 'bộ sưu tập' này sẽ xuất khẩu tất cả hồ sơ vào một tập tin gọi là thử nghiệm. txt

Nếu bạn có một kịch bản dài mà bạn muốn thực hiện bạn cũng có thể tạo một file script.js và chỉ sử dụng

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

Tôi hy vọng điều này sẽ giúp

+1

cho tôi thấy lỗi - thiếu; trước câu lệnh (shell): 1 – QVSJ

+0

bạn đã sao chép xong chưa? nếu có, vui lòng kiểm tra lại tên db và tên bộ sưu tập trong truy vấn. Nếu bạn vừa nhập chính mình, hãy kiểm tra kỹ chính tả của bạn. Lỗi bạn đang nhận có nghĩa là bạn đã viết sai chính tả ... hoạt động cho tôi (chỉ cần kiểm tra lại) – peshkira

+0

sử dụng khoảnh khắc của bạn khoảnh khắc "var c = db.profile.find(); while (c.hasNext()) {printjson (c.next())} ">>" C: \ exp \ test.txt "trong đó khoảnh khắc của bạn là tên và hồ sơ db là tên bộ sưu tập. – QVSJ

12

tôi biết có cách nào để làm điều đó từ vỏ Mongo trực tiếp, nhưng bạn có thể nhận mongoexport để thực hiện các truy vấn và gửi kết quả vào một tập tin với -q và các tùy chọn -o:

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

Các các lượt truy cập ở trên truy vấn bộ sưu tập tiểu sử trong cơ sở dữ liệu mô hình, lấy tài liệu JSON cho _id = "MRD641000". Làm việc cho tôi.

+0

Câu trả lời đơn giản nhất. – Jim109

7

Sử dụng này

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

Sau khi bỏ lỡ db cần phải là db thực tế trong câu trả lời Peshkira của, đây là một cú pháp chung của một lót trong vỏ (giả sử không có mật khẩu):

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

Tôi đã thử nghiệm cả trên máy Mac và Google Cloud Ubuntu 15 với Mongo 3+.

-1

mongoexport --db db_name --collection collection_name --csv --out file_name.csv -f field1, field2, field3

+1

Bao gồm một số giải thích về câu trả lời của bạn sẽ giúp những người khác vượt qua giải pháp này. – Steven

0

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

Các vấn đề liên quan