MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Nhập tài liệu vào MongoDB từ một mảng tài liệu JSON

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.


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. 2 cách để hiện một chỉ mục trong MongoDB

  2. Mongo cố gắng kết nối tự động với cổng 27017 (localhost)

  3. Tổng quan về các giao dịch ACID nhiều tài liệu trong MongoDB và cách sử dụng chúng

  4. Làm cách nào để đổi tên các trường khi thực hiện tìm kiếm / chiếu trong MongoDB?

  5. Mô hình tốt nhất để biểu diễn nhiều mối quan hệ với các thuộc tính trong MongoDB