1

demodb.jsonファイル (10 個のドキュメントを含む) を作成し、システムのD:\ドライブに保存しました

の内容は次の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

demodb -->city コレクションの中身は以下の通り

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

Mongodサーバーを起動してからmongoクライアントを開きましたmongoクライアントで次のことを行いました:

demodb を使用 mongoimport -d demodb -c city --type json --file demodb.json --jsonarray

しかし、私は以下のようなエラーを見つけました

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

JsonファイルをMongodbの既存のデータベースに簡単にインポートできるように、何をする必要があるかを親切に提案してください。

4

2 に答える 2

0

あなたのものがfile.jsonにあると仮定して、試してみてくださいsed -e 's/ID/_id/g;s/\([^:]*\):\([^,}]*\)/"\1":"\2"/g' file.json | mongoimport --collection collection-nameWindows 用の sed は GNUWin32 から入手できます。さらに問題がある場合はお知らせください。

ここでは、ファイル内のすべてのwithのs/ID/_id/g出現を置換し、2 番目の引用符ですべての単語を引用して、ファイルを有効な JSONにします。2 つの変換の後、mongoimport は正常に動作します。ID_idfile.json

于 2013-05-09T03:18:29.920 に答える