2011-10-03 32 views
9

Tôi muốn sao lưu chỉ có 100 hồ sơ từ một bộ sưu tập làm thế nào tôi có thể cho giới hạn trong truy vấn -q.làm thế nào để cung cấp cho giới hạn trong mongoexport trong mongodb

ở đây những gì tôi đã cố gắng đưa ra giới hạn nhưng sau khi đưa ra giới hạn trong -q, nó không chèn bất kỳ bản ghi nào.

mongoexport --host localhost --db test --collection foo -q "{"limit":"1"}" > a.json 

Xin gợi ý làm thế nào tôi có thể đưa ra giới hạn số lượng kỷ lục trong mongoexport

http://www.mongodb.org/display/DOCS/mongoexport

+0

tính năng không có sẵn – XMen

Trả lời

9

Nếu bạn đang sử dụng một * nix (hoặc Cygwin), bạn có thể sử dụng đầu -100

mongoexport --host localhost --db test --collection foo | head -100 > a.json 

EDIT: như được tìm thấy trên danh sách gửi thư mongodb, có một yêu cầu tính năng cho việc này: https://jira.mongodb.org/browse/SERVER-2033

EDIT: câu trả lời này là hơn 4 tuổi. Mongodb đã triển khai tính năng tích hợp sẵn, xem các câu trả lời khác bên dưới.

+0

chúng tôi đang sử dụng ubuntu? làm thế nào để làm trong ubutnu? – XMen

+0

chỉ cần mở một thiết bị đầu cuối và sao chép-dán dòng cung cấp – kamaradclimber

+0

cố gắng không làm việc tôi có 3 hồ sơ trong một bộ sưu tập và tôi không đầu -1 và nó chèn tất cả các hồ sơ 3. kiểm tra liên kết này https://groups.google.com/group/mongodb-user/browse_thread/thread/a9d3853ab1802173?hl=vi&pli=1 – XMen

0

Đối với những người bị mắc kẹt trên phiên bản cũ hơn của Mongo không có chức năng giới hạn, một giải pháp thay thế có thể là chạy truy vấn có giới hạn tạo bộ sưu tập mới và xuất từ ​​bộ sưu tập này.

db.createCollection("limitedResults") 
db.limitedResults.insert((db.foo.find().limit(1)).toArray()) 

sau đó

mongoexport --host localhost --db test --collection limitedResults --out a.json 
15

mongoexport hỗ trợ giới hạn, vì vậy chỉ đơn giản là:

mongoexport --host localhost --db test --collection foo --limit 1 --out a.json 
Các vấn đề liên quan