Подтвердить что ты не робот

Вставить json файл в mongodb

Я новичок в mongodb. После установки mongodb в windows я пытаюсь вставить простой json файл, используя следующую команду:

C:\>mongodb\bin\mongoimport --db test --collection docs < example2.json

Я получаю следующую ошибку:

connected to: 127.0.0.1
Fri Oct 18 09:05:43.749 exception:BSON representation of supplied JSON is too large: code FailedToParse: FailedToParse: Field name expected: offset:43
Fri Oct 18 09:05:43.750
Fri Oct 18 09:05:43.750 exception:BSON representation of supplied JSON is too large: code FailedToParse: FailedToParse: Expecting '{': offset:0
Fri Oct 18 09:05:43.751
Fri Oct 18 09:05:43.751 exception:BSON representation of supplied JSON is too large: code FailedToParse: FailedToParse: Field name expected: offset:42
Fri Oct 18 09:05:43.751
Fri Oct 18 09:05:43.751 exception:BSON representation of supplied JSON is too large: code FailedToParse: FailedToParse: Expecting '{': offset:0
Fri Oct 18 09:05:43.751
Fri Oct 18 09:05:43.752 exception:BSON representation of supplied JSON is too large: code FailedToParse: FailedToParse: Field name expected: offset:44
Fri Oct 18 09:05:43.752
Fri Oct 18 09:05:43.752 exception:BSON representation of supplied JSON is too large: code FailedToParse: FailedToParse: Expecting '{': offset:0
Fri Oct 18 09:05:43.752
Fri Oct 18 09:05:43.752 check 0 0
Fri Oct 18 09:05:43.752 imported 0 objects
Fri Oct 18 09:05:43.752 ERROR: encountered 6 error(s)s

example2.file

{"FirstName": "Bruce", "LastName": "Wayne", 
"Email": "[email protected]"}
{"FirstName": "Lucius", "LastName": "Fox", 
"Email": "[email protected]"}
{"FirstName": "Dick", "LastName": "Grayson", 
"Email": "[email protected]"}

Что мне нужно сделать, чтобы импортировать новый json файл в mongodb?

4b9b3361

Ответ 1

Используйте

mongoimport --jsonArray --db test --collection docs --file example2.json

Вероятно, он испортился из-за символов новой строки.

Ответ 2

Ниже команда работала для меня

mongoimport --db test --collection docs --file example2.json

когда я удалял дополнительный символ новой строки перед атрибутом Email в каждом из документов.

example2.json

{"FirstName": "Bruce", "LastName": "Wayne", "Email": "[email protected]"}
{"FirstName": "Lucius", "LastName": "Fox", "Email": "[email protected]"}
{"FirstName": "Dick", "LastName": "Grayson", "Email": "[email protected]"}

Ответ 3

Это сработало для меня - (из mongo shell)

var file = cat('./new.json');     # file name
use testdb                        # db name
var o = JSON.parse(file);         # convert string to JSON
db.forms.insert(o)                # collection name

Ответ 4

Используйте команду ниже при импорте файла JSON

C:\>mongodb\bin\mongoimport --jsonArray -d test -c docs --file example2.json

Ответ 5

mongoimport --jsonArray  -d DatabaseN -c collectionName /filePath/filename.json

Ответ 6

следующие два способа работают хорошо:

C:\>mongodb\bin\mongoimport --jsonArray -d test -c docs --file example2.json
C:\>mongodb\bin\mongoimport --jsonArray -d test -c docs < example2.json

если коллекции принадлежат определенному пользователю, вы можете использовать -u -p --authenticationDatabase

Ответ 7

В MS Windows команда mongoimport должна запускаться в обычной командной строке Windows, а не в командной строке mongodb.

Ответ 9

Это решение применимо для Windows-машины.

  1. MongoDB нужен каталог данных для хранения данных. Путь по умолчанию - C:\data\db. Если у вас нет каталога данных, создайте его на диске C :. (PS: data\db означает, что внутри каталога 'data' есть каталог с именем 'db')

  2. Поместите json, который вы хотите импортировать в этот путь: C:\data\db\.

  3. Откройте командную строку и введите следующую команду

    mongoimport --db databaseName --collections collectionName --file fileName.json --type json --batchSize 1

Вот,

  • имя_базы_данных: имя вашей базы данных
  • collectionName: название вашей коллекции
  • fileName: имя вашего файла JSON, который находится в пути C:\data\db
  • batchSize может быть любым целым числом по вашему желанию

Ответ 10

В MongoDB Вставить данные массива Json из файла (из определенного места в системе/ПК) с помощью команды оболочки mongo. При выполнении приведенной ниже команды она должна быть в одной строке.

var file = cat('I: /data/db/card_type_authorization.json'); var o = JSON.parse(file); db.CARD_TYPE_AUTHORIZATION.insert(o);

Файл JSON: card_type_authorization.json

[{
"code": "visa",
"position": 1,
"description": "Visa",
"isVertualCard": false,
"comments": ""
},{
    "code": "mastercard",
    "position": 2,
    "description": "Mastercard",
    "isVertualCard": false,
    "comments": ""
}]