私はmongoimportを使用してCSVファイルからのMongoDBののObjectIdをインポートするために苦労しています:私はすべての組み合わせを試してみましたが、私は考えることができ方法を逃れるが、CSVから正しくObjectIdがインポートすることはできませんmongoimportを使用してCSVファイルからMongodb ObjectIdをインポートするには?
。
まず、私がMongoDBからCSVにエクスポートしたものを正確にインポートしようとしました。 MongoDB 2.2.1を使用しています。
私はちょうど2つのコレクションを作成し、別の文書に一つの文書の_idを参照:
use yourdb
db.createCollection("student")
db.createCollection("class")
db.student.insert({"name":"Peter"})
db.student.find() returns { "_id" : ObjectId("5143af326d44e1ceb372121d"), "name" : "Peter" }
db.class.insert({"student_id": ObjectId("5143af326d44e1ceb372121d"),"name":"II-4"})
その後、私はシェルでmongoexportコマンドを使用:
CSVを結果として生じるmongoexport -h localhost:3002 -d yourdb -c classes --csv -f student_id,name > export.txt
は次のようになります。
student_id,name
ObjectID(5143af326d44e1ceb372121d),"II-4"
次に、結果のCSVをインポートしました。
mongoimport -h localhost:3002 -d yourdb -c class --type csv --file export.txt --headerline
キシにクラスのコレクションは現在、返します。
db.class.find()
{ "_id" : ObjectId("5143afc66d44e1ceb372121e"), "student_id" : ObjectId("5143af326d44e1ceb372121d"), "name" : "II-4" }
{ "_id" : ObjectId("5143b44788df173ba096550e"), "student_id" : "ObjectID(5143af326d44e1ceb372121d)", "name" : "II-4" }
あなたは2番目の文書でSTUDENT_IDフィールドに気づくことができたように、実際に文字列ではなくMongoDBのObjectIdがあります。
私は何かに間違っているか、またはMongoが輸出したCSVをインポートできませんか?
何が起こると思われ、代わりに何が起こっていますか?あなたはあなたの例で同じコレクションにインポートしているので、それは不明瞭です。 – JohnnyHK
私はcsvからMongoDBのObjectIDをインポートしようとしていますが、MongoDBにインポートされた文字列だけを取得しています。私はMongoDBのcsvエクスポートをインポートしようとしましたが、ObjectIDsにはなりませんでした。誰もmongoimportを使ってCSVファイルからObjectIDフィールドをインポートしようとしたようですね。 – vladimirp
これを試してみるとうまくいきました。あなたの実際のtest.csvファイルには、フィールド名を含むヘッダー行がありますか?あなたの例のCSVはそれを表示しません。 – JohnnyHK