2011-09-22 22 views
32

mongoexport -h db.mysite.com -u myUser -p myPass -c myCollection"Quá nhiều tùy chọn vị trí" có nghĩa là gì khi thực hiện một mongoexport?

Nhưng câu trả lời tôi nhận được là:

ERROR: too many positional options

gì mà về?

+0

'' đang làm gì ở đó? – dcrosta

+0

Tôi có cùng một vấn đề> mongoexport --host Remote --port 27017 --collection Event --db mana --fields userName --query {"_class": "blaablaEvent", "rewardStatus": "NEW"} - out out.csv – Hamedz

+0

Nói chung nó là lỗi phân tích cú pháp (một số không gian thừa hoặc một cái gì đó tương tự), một khi cố gắng "gõ" lệnh một lần nữa thay vì sao chép nó từ một nơi nào đó. – Khatri

Trả lời

15

Tôi đã gặp vấn đề tương tự. Đã tìm thấy một bài đăng ở một nơi nào đó đã đề cập đến việc xóa không gian giữa '-p' và mật khẩu đã hoạt động cho tôi.

lệnh mẫu của bạn nên là:

mongoexport -h db.mysite.com -u myUser -pmyPass -c myCollection 
+1

Điều này cũng hoạt động đối với mongodump – trcarden

+1

Ngoài ra, hãy chú ý đến các khoảng trống bằng tùy chọn -f. Các trường của bạn không được để khoảng trống giữa các dấu phẩy – babonk

+0

Siêu lạ. Phiên bản tương tự của mongodump (2.6.11) trên macOS và Ubuntu, phiên bản macOS hoạt động với một không gian, phiên bản Ubuntu thì không. – DanielSmedegaardBuus

10

Các lỗi tương tự tôi đã gặp trong khi nhập khẩu một tập tin csv. Nhưng thực tế là danh sách trường mà bạn vượt qua để nhập tệp csv đó có thể có khoảng trống. Chỉ cần xóa các khoảng trống trong danh sách trường.

Lỗi phân tích cú pháp của nó.

+0

Vâng, đó là nó .... đăng xuất khẩu vào tuyệt vời, làm sạch, nó làm việc cho tôi. Cảm ơn - – chuckjones242

34

Tôi gặp vấn đề tương tự. Trong trường hợp của tôi, tôi đã sử dụng mongoexport với các tùy chọn --query, mà hy vọng một tài liệu JSON, chẳng hạn như:

mongoexport ... --query {field: 'value'} ... 

tôi cần phải bao quanh tài liệu với dấu ngoặc kép:

mongoexport ... --query "{field: 'value'}" ... 
+4

Một số hoạt động của HĐH hơi khác. Các giải pháp trên làm việc cho tôi trên Windows, nhưng đối với một đồng nghiệp (Mac), ông đã phải đặt dấu nháy đơn (') vào bên ngoài và dấu ngoặc kép (") ở bên trong. Chiến thắng: mongoexport ... --query" {field: 'value'} "... Mac: mongoexport ... --query '{field:" value "}' ... –

4

tôi đã cùng một vấn đề với tiện ích mongoexport (sử dụng 2.0.2). Sửa lỗi của tôi là sử dụng tên thông số ĐẦY ĐỦ (ví dụ: not -d, thay vì sử dụng --db).

7

Tôi gặp sự cố tương tự với mongodump. Sau khi tìm kiếm một chút, tôi phát hiện ra rằng sử dụng tham số --out để chỉ định thư mục đầu ra sẽ giải quyết vấn đề này. Cú pháp để sử dụng tham số ngoài là

mongoexport --collection collection --out collection.json 

Cũng trong trường hợp cá thể Mongodb của bạn không chạy, thì bạn có thể sử dụng --dbpath để chỉ định đường dẫn chính xác đến tệp của cá thể.

Nguồn: http://docs.mongodb.org/manual/core/import-export/

2

Đôi khi trình chỉnh sửa sẽ sửa nó (chẳng hạn như evernote). Tôi đã khắc phục sự cố bằng cách gõ lại lệnh trong thiết bị đầu cuối.

+0

Evernote đã thay đổi '--query' thành '—query' và rằng hơi say cho tôi – cpres

0

Tôi gặp vấn đề tương tự khi bắt đầu mongod. Tôi đã sử dụng lệnh sau:

./mongod --port 27001 --replSet abc - dbpath /Users/seanfoley/Downloads/mongodb-osx-x86_64-3.4.3/bin/1 --logpath/Users/seanfoley/Downloads/MongoDB-OSX-x86_64-3.4.3/log.1 --logappend --oplogSize 5 --smallfiles --fork

Các thông báo lỗi sau xuất hiện:

lỗi phân tích cú pháp dòng lệnh: quá nhiều tùy chọn vị trí đã được chỉ định trên dòng lệnh

Điều gì đã khắc phục sự cố này đã xóa không gian đơn giữa '-' và 'dbpath'

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