MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Импортирайте документи в MongoDB от масив от JSON документи

Когато използвате mongoimport , можете да използвате --jsonArray параметър за импортиране на масив от JSON документи.

Пример

Да предположим, че имаме следния JSON документ, наречен pets_array.json :

[
    {"_id":1.0,"name":"Wag","type":"Dog"},
    {"_id":2.0,"name":"Bark","type":"Dog"},
    {"_id":3.0,"name":"Meow","type":"Cat"}
]

Ако се опитаме да импортираме това в MongoDB без използвайки --jsonArray параметър, получаваме следната грешка:

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.

По принцип не може да декодира масива в документ.

За да коригираме това, можем просто да добавим --jsonArray параметър:

mongoimport --db=PetHotel --jsonArray --file=pets_array.json

Изход:

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.

Това ни казва, че и трите документа са импортирани успешно.

Сега можем да разгледаме колекцията, за да проверим:

db.pets_array.find()

Резултат:

{ "_id" : 1, "name" : "Wag", "type" : "Dog" }
{ "_id" : 3, "name" : "Meow", "type" : "Cat" }
{ "_id" : 2, "name" : "Bark", "type" : "Dog" }

Както се очакваше, и трите документа са в новосъздадената колекция.

Колекцията е новосъздадена, защото не сме посочили колекция, в която да импортираме документите. Ако имахме, те щяха да бъдат импортирани в посочената колекция.

Нямате mongoimport ?

mongoimport е част от пакета MongoDB Database Tools. Инструментите за база данни на MongoDB са набор от помощни програми от командния ред за работа с MongoDB.

Ако не сте сигурни дали имате MongoDB Database Tools/mongoimport инсталиран, опитайте да изпълните следната команда във вашия терминал или команден ред, за да проверите:

mongoimport --version

Ако го имате, трябва да видите информация за версията и т.н. Ако го нямате, можете да използвате инструкциите за инсталиране на уебсайта на MongoDB, за да го инсталирате на вашата система.

Къде да стартирате mongoimport Команди?

Трябва да стартирате mongoimport команди от командния ред на вашата система (например нов прозорец на терминал или команден ред).

Не ги стартирайте от mongo черупка.


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Ако имам идентификатор на документ mongo като низ, как да го потърся като _id?

  2. MongoDB dropIndex()

  3. Отпечатване на изхода на заявката на Mongo във файл, докато сте в mongo shell

  4. Дефиниране на схема Mongoose в движение от JSON-форматирано „описание“

  5. MongoDB срещу Касандра