Khi sử dụng mongoimport
, bạn có thể sử dụng --jsonArray
tham số để nhập một mảng tài liệu JSON.
Ví dụ
Giả sử chúng ta có tài liệu JSON sau được gọi là pets_array.json
:
[
{"_id":1.0,"name":"Wag","type":"Dog"},
{"_id":2.0,"name":"Bark","type":"Dog"},
{"_id":3.0,"name":"Meow","type":"Cat"}
]
Nếu chúng tôi cố gắng nhập dữ liệu đó vào MongoDB mà không có sử dụng --jsonArray
, chúng tôi gặp lỗi sau:
2021-01-03T13:52:58.360+1000 no collection specified 2021-01-03T13:52:58.360+1000 using filename 'pets_array' as collection 2021-01-03T13:52:58.366+1000 connected to: mongodb://localhost/ 2021-01-03T13:52:58.371+1000 Failed: cannot decode array into a D 2021-01-03T13:52:58.371+1000 0 document(s) imported successfully. 0 document(s) failed to import.
Về cơ bản, nó không thể giải mã mảng thành tài liệu.
Để khắc phục điều này, chúng ta chỉ cần thêm --jsonArray
tham số:
mongoimport --db=PetHotel --jsonArray --file=pets_array.json
Đầu ra:
2021-01-03T13:58:13.407+1000 no collection specified 2021-01-03T13:58:13.408+1000 using filename 'pets_array' as collection 2021-01-03T13:58:13.421+1000 connected to: mongodb://localhost/ 2021-01-03T13:58:13.450+1000 3 document(s) imported successfully. 0 document(s) failed to import.
Điều này cho chúng tôi biết rằng cả ba tài liệu đã được nhập thành công.
Bây giờ chúng ta có thể xem qua bộ sưu tập để kiểm tra:
db.pets_array.find()
Kết quả:
{ "_id" : 1, "name" : "Wag", "type" : "Dog" } { "_id" : 3, "name" : "Meow", "type" : "Cat" } { "_id" : 2, "name" : "Bark", "type" : "Dog" }
Như mong đợi, cả ba tài liệu đều nằm trong bộ sưu tập mới được tạo.
Bộ sưu tập mới được tạo vì chúng tôi không chỉ định bộ sưu tập để nhập tài liệu vào. Nếu chúng tôi có, thì chúng sẽ được nhập vào bộ sưu tập được chỉ định.
Không có mongoimport
?
mongoimport
là một phần của gói Công cụ cơ sở dữ liệu MongoDB. Công cụ cơ sở dữ liệu MongoDB là một bộ tiện ích dòng lệnh để làm việc với MongoDB.
Nếu bạn không chắc mình có Công cụ cơ sở dữ liệu MongoDB / mongoimport
hay không đã cài đặt, hãy thử chạy lệnh sau trong Terminal hoặc Command Prompt của bạn để kiểm tra:
mongoimport --version
Nếu có, bạn sẽ thấy thông tin phiên bản, v.v. Nếu chưa có, bạn có thể sử dụng hướng dẫn cài đặt trên trang web MongoDB để cài đặt vào hệ thống của mình.
Chạy ở đâu mongoimport
Lệnh?
Bạn cần chạy mongoimport
lệnh từ dòng lệnh của hệ thống của bạn (ví dụ:cửa sổ Terminal hoặc Command Prompt mới).
Đừng chạy chúng từ mongo
vỏ bọc.