2016-10-12 15 views
0

CSVファイルをMongoコレクションにインポートしていますが、インポートに成功しています。 これは私のWindowsのコマンドプロンプトの実行です:MongoDB "インポートされたデータ"がPHPから取得されない

mongoimport --host localhost --db testing --collection test1 --type csv --headerline --file Desktop\try.csv 
2016-10-12T23:25:10.464+0530 connected to: localhost 
2016-10-12T23:25:10.561+0530 imported 1 document 

私のコレクションには、次のことを示しています。ここ

> db.test1.find().pretty() 
{ 
     "_id" : ObjectId("57fe78fece1854fc74ad37f0"), 
     "class" : "7th", 
     "school_id" : 1 
} 
{ 
     "_id" : ObjectId("57fe7975912ee1426d6d94c6"), 
     "school_id" : "1", 
     "class" : "5th" 
} 
{ 
     "_id" : ObjectId("57fe7980912ee1426d6d94c7"), 
     "school_id" : "1", 
     "class" : "6th" 
} 

私はクラス7位で文書をインポートしただけ。 クラス5と6の文書はMongo Shellから挿入され、インポートされません。

PHPで、これらのドキュメントを取得しようとしたときに、各ドキュメントの "クラス"を表示すると、私はMongo Shellを通じて挿入した5番目と6番目のクラスしか表示できません。 インポートされた文書データは、クラス7thでは表示されません。

私は "writeConcern" で何かを試してみました:

mongoimport --host localhost --db testing --collection test1 --type csv --headerline --file Desktop\try.csv --writeConcern {w:"majority"} 

これはMongoDBのの懸念を読み書きするために関連する何かですか? PHP Mongoのドライバに関するものですか?

私は大量のデータを持っており、シェルで挿入する余裕はありません。 私は解決策を見つけるのを手助けしてください! 誰かがこの問題に関して何か意見を持っていれば、本当に感謝します。

助けてください。

よろしく

(私はXAMPP Windowsを使用しています)

+0

また、Absoulte Pathでスラッシュしてみてください。C:/Users/username/Desktop/try.csv –

+0

これはうまくいきませんでした。しかし、私はCSVファイルをJSONに変換していました。私は私のウェブページでそれを取り出すことができました。しかし、なぜそれがCSVからのデータを無視するのか分かりません。 – rogue12x

+0

こんにちは、親切にこのhttp://stackoverflow.com/a/17265858を見直し、csvオプションを試してみたいと思うなら、このhttp://stackoverflow.com/a/28463511が役に立ちます。 –

答えて

1

データ間の違いがあります。 school_idは7番目の数字で、5番目と6番目の文字列です。これはあなたの質問に問題を引き起こしていますか?

+0

これは問題ではない場合は、PHPコードを投稿してください。 –

+0

それは問題でした。はい、ありがとうございました。しかし、数字を文字列としてインポートする方法を見つけることはできません。二重引用符は機能しません。私は現在、タイプを変更する更新コマンドを実行しています。直接的アプローチはありますか? – rogue12x

+0

これを文字列としてインポートする方法はありません(この回答を参照してください。http://stackoverflow.com/a/10303303/266375)。追加のコードを書く必要があります。インポート後にデータベースを編集することをお勧めします。 –

関連する問題