Các chương trình bên dưới sẽ nhập tất cả các tài liệu từ một tệp với một tài liệu trên mỗi dòng vào bộ sưu tập. Có hai phiên bản của chương trình, một phiên bản sử dụng API đồng bộ và phiên bản còn lại sử dụng API không đồng bộ
Khi sử dụng MongoDB, bạn có thể sử dụng
mongoimport --db=PetHotel --file=pets.json
1 để nhập tài liệu vào bộ sưu tập. mongoimport --db=PetHotel --file=pets.json
1 là tiện ích dòng lệnh nhập nội dung từ tệp JSON, CSV hoặc TSV mở rộng. Tệp nhập có thể đã được tạo bởi mongoimport --db=PetHotel --file=pets.json
3 hoặc một số tiện ích xuất khácBài viết này trình bày các ví dụ về nhập tệp JSON vào MongoDB
Thí dụ
Giả sử chúng ta có tệp JSON sau có tên là
mongoimport --db=PetHotel --file=pets.json
4{ "_id" : 1, "name" : "Wag", "type" : "Dog" } { "_id" : 2, "name" : "Bark", "type" : "Dog" } { "_id" : 3, "name" : "Meow", "type" : "Cat" }
Lệnh sau nhập tệp JSON vào MongoDB
mongoimport --db=PetHotel --file=pets.json
Trong trường hợp này, tôi đã không chỉ định một bộ sưu tập để nhập nó vào, vì vậy nó đã tạo một bộ sưu tập có cùng tên của tệp [
mongoimport --db=PetHotel --file=pets.json
5]Kiểm tra kết quả
Hãy cùng xem qua bộ sưu tập
db.pets.find[]
Kết quả
{ "_id" : 1, "name" : "Wag", "type" : "Dog" } { "_id" : 2, "name" : "Bark", "type" : "Dog" } { "_id" : 3, "name" : "Meow", "type" : "Cat" }
Chúng ta có thể thấy rằng các tài liệu đã được nhập như mong đợi
Chỉ định tên bộ sưu tập
Bạn có thể sử dụng tham số
mongoimport --db=PetHotel --file=pets.json
6 [hoặc mongoimport --db=PetHotel --file=pets.json
7] để chỉ định một bộ sưu tập để nhập tệp vàoĐây là một ví dụ về việc sử dụng tham số
mongoimport --db=PetHotel --file=pets.json
6 để nhập cùng một tệp vào một bộ sưu tập khácmongoimport --db=PetHotel --file=pets.json
2Nếu bộ sưu tập chưa tồn tại, nó sẽ được tạo. Nếu nó đã tồn tại, thì kết quả nhập sẽ phụ thuộc vào chế độ bạn đang sử dụng [thêm về điều này bên dưới]
Thả bộ sưu tập trước khi nhập
Bạn có thể sử dụng tham số
mongoimport --db=PetHotel --file=pets.json
9 để xóa bất kỳ bộ sưu tập hiện có nào có cùng tên với bộ sưu tập bạn đang cố tạo/nhậpHãy tưởng tượng chúng ta có một tệp thứ hai, được gọi là
db.pets.find[]
0, với tài liệu saumongoimport --db=PetHotel --file=pets.json
5Đây là điều sẽ xảy ra nếu tôi nhập tài liệu đó vào bộ sưu tập
mongoimport --db=PetHotel --file=pets.json
5 bằng tùy chọn mongoimport --db=PetHotel --file=pets.json
9mongoimport --db=PetHotel --file=pets.json
8đầu ra
mongoimport --db=PetHotel --file=pets.json
9Thông báo cho chúng tôi biết rằng bộ sưu tập đã bị hủy và một tài liệu đã được nhập
Hãy cùng xem qua bộ sưu tập
db.pets.find[]
Kết quả
mongoimport --db=PetHotel --file=pets.json
1Đúng như dự đoán, hai tài liệu mới của chúng tôi là những tài liệu duy nhất trong bộ sưu tập
Chế độ nhập
Có nhiều chế độ nhập khác nhau mà bạn có thể sử dụng với
mongoimport --db=PetHotel --file=pets.json
1. Các chế độ này xác định điều gì sẽ xảy ra nếu đã có tài liệu phù hợp trong bộ sưu tập mà bạn đang cố gắng nhập vàoCác chế độ như sau
Chế độ Mô tảdb.pets.find[]
4Đây là chế độ mặc định. Chế độ này chèn tài liệu từ tệp nhập. Nếu một tài liệu phù hợp đã tồn tại trong bộ sưu tập, sẽ xảy ra lỗi. Tài liệu phù hợp là tài liệu có cùng ID duy nhất [chẳng hạn như trường db.pets.find[]
5 phù hợp] với tài liệu trong tệp nhập. db.pets.find[]
6Thay thế các tài liệu hiện có trong cơ sở dữ liệu bằng các tài liệu phù hợp từ tệp nhập. Tất cả các tài liệu khác được đưa vào. db.pets.find[]
7Hợp nhất các tài liệu hiện có khớp với tài liệu trong tệp nhập với tài liệu mới. Tất cả các tài liệu khác được đưa vào. db.pets.find[]
8Xóa tài liệu hiện có trong cơ sở dữ liệu khớp với tài liệu trong tệp nhập. Mọi tài liệu không khớp đều không có hiệu lựcXem Chế độ nhập của
mongoimport --db=PetHotel --file=pets.json
1 để biết ví dụ về từng chế độKiểm tra mongoimport --db=PetHotel --file=pets.json
1
mongoimport --db=PetHotel --file=pets.json
mongoimport --db=PetHotel --file=pets.json
1 là một phần của gói Công cụ cơ sở dữ liệu MongoDB. MongoDB Database Tools là một bộ tiện ích dòng lệnh để làm việc với MongoDBNếu bạn không chắc mình đã cài đặt MongoDB Database Tools/
mongoimport --db=PetHotel --file=pets.json
1 hay chưa, hãy thử chạy lệnh sau trong Terminal hoặc Command Prompt để kiểm tramongoimport --db=PetHotel --file=pets.json
0Nếu bạn có nó, bạn sẽ thấy thông tin phiên bản, v.v. Nếu bạn không có nó, bạn có thể sử dụng hướng dẫn cài đặt trên trang web MongoDB để cài đặt nó vào hệ thống của bạn
Nơi để chạy các lệnh?
Đừng quên, bạn cần chạy các lệnh
mongoimport --db=PetHotel --file=pets.json
1 từ dòng lệnh của hệ thống [e. g. cửa sổ Terminal hoặc Command Prompt mới]