2013-05-09 2 views
1

Я создал demodb.json файл (имеющий 10 документов) и держали его в D:\ диск моей системыКак я импортировать JSON-файл состоит более 200 документов в MongoDB

содержание demodb.json являются:

[{"ID": 1,"Name": "Kabul","CountryCode": "AFG","District": "Kabol","Population": 1780000}, {"ID": 2,"Name": "Qandahar","CountryCode": "AFG","District": "Qandahar","Population": 237500}, {"ID": 3,"Name": "Herat","CountryCode": "AFG","District": "Herat","Population": 186800}, {"ID": 4,"Name": "Mazar-e-Sharif","CountryCode": "AFG","District": "Balkh","Population": 127800}, {"ID": 5,"Name": "Amsterdam","CountryCode": "NLD","District": "Noord-Holland","Population": 731200}, {"ID": 6,"Name": "Rotterdam","CountryCode": "NLD","District": "Zuid-Holland","Population": 593321}, {"ID": 7,"Name": "Haag","CountryCode": "NLD","District": "Zuid-Holland","Population": 440900}, {"ID": 8,"Name": "Utrecht","CountryCode": "NLD","District": "Utrecht","Population": 234323}, {"ID": 9,"Name": "Eindhoven","CountryCode": "NLD","District": "Noord-Brabant","Population": 201843}, {"ID": 10,"Name": "Tilburg","CountryCode": "NLD","District": "Noord-Brabant","Population": 193238}] 

Мои MongoDB место: D:\SanMongoDB

Вся моя база данных и коллекции хранятся в D:\SanMongoDB\MongoData

содержания ДЕМО -> Коллекция города, как показано ниже

{ "_id":ObjectId("51892b40842d69f5fa21962f"), 
    "Name": "India", 
    "CountryCode": "IND", 
    "District": "ODISHA", 
    "Population": 2050000 
} 

Я начал сервер Mongod затем открыть Монго клиента В Монго клиента я сделал следующее:

использование ДЕМО mongoimport -d ДЕМО -с город --type --file demodb.json JSON --jsonarray

Но я нашел ошибку, как показано ниже

Thu May 09 08:21:57.861 Javascript execution failed:SyntaxError:Unexpected identifier

Просьба уточнить, что мне нужно для этого. Я могу легко импортировать файл Json в существующую базу данных Mongodb.

+0

Это потому, что правильный идентификатор - '_id', а не' ID'. Итак, «Неожиданный идентификатор». – stackoverflowery

ответ

0

Предполагая, что ваш материал находится в файле.json, попробуйте sed -e 's/ID/_id/g;s/\([^:]*\):\([^,}]*\)/"\1":"\2"/g' file.json | mongoimport --collection collection-name. Вы можете получить sed for Windows from GNUWin32. Дайте мне знать, если у вас возникнут дополнительные проблемы.

Здесь s/ID/_id/g заменяет каждые вхождения ID с _id в файле file.json и вторые кавычки каждое слово, чтобы сделать свой файл valid JSON. После двух преобразований mongoimport отлично работает.