Неожиданный конец ввода JSON в MongoDB Compass - PullRequest
0 голосов
/ 15 мая 2019

Я хочу импортировать данные типа json в компас MongoDB, функция импорта выдает эту ошибку «неожиданный конец ввода json»

enter image description here

есть некоторые из моих файлов JSON

[

    {
    'id' :4,
    'user' : 'test@example.com',
    'date1' :'2019-03-01',
    'date2' : '2019-04-01',
    'statut' : 'Good',
     'guest_number' : 4
    }
]

Ответы [ 4 ]

2 голосов
/ 15 мая 2019

У меня была эта проблема 6 месяцев назад, решение - записать все JSON в одну строку. [{"id":4,"user":"test@example.com","date1":"2019-03-01","date2":"2019-04-01","statut":"Good","guest_number":4}]

MongoDB Compass скажет вам:

Импорт успешен!

Но, безусловно, документ не появится в вашей коллекции, поэтому лучше используйте Robo3T, если вы хотите вставить json. Тогда вы можете снова использовать компас, как я. Это странно, да, но я пока не нашел другого решения.

1 голос
/ 15 мая 2019

Структура вашего JSON неверна, вы можете прочитать информацию о стандартах JSON

Значение может быть строкой в ​​ двойных кавычках или число, или истина, или ложь, или ноль, или объект или массив.Эти структуры могут быть вложенными.

попробуйте использовать двойные кавычки вместо одинарных:

Валидаторы JSON могут помочь вам также

[
    {
     "id" : 4,
     "user" : "test@example.com",
     "date1" : "2019-03-01",
     "date2" : "2019-04-01",
     "statut" : "Good",
     "guest_number" : 4
    }
]
0 голосов
/ 31 мая 2019

Вы также можете использовать командную строку mongodb следующим образом:

db.user.insert(
[
    {
     "id" : 4,
     "user" : "test@example.com",
     "date1" : "2019-03-01",
     "date2" : "2019-04-01",
     "statut" : "Good",
     "guest_number" : 4
    },
    {
     "id" : 5,
     "user" : "test2@example.com",
     "date1" : "2019-03-01",
     "date2" : "2019-04-01",
     "statut" : "Good",
     "guest_number" : 4
    }
]
0 голосов
/ 16 мая 2019

решение состоит в том, чтобы записать все JSON в одну строку, но если у нас большой документ !! Я только что нашел решение, которое я могу импортировать данные с помощью этой команды в терминале:

mongoimport --jsonArray --db YourDatabase --collection YourCollection --file Yourfile.json
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...