mongoimport跳过第一行
问题描述:
我在使用mongoimport时遇到过一些奇怪的行为。它似乎跳过了JSON导入文件的第一行。我还没有看到任何提及JSON头文件,并插入一个空白的第一行仍然导致同样的问题。mongoimport跳过第一行
我运行CentOS的,以及MongoImport和DB是2.0.0版本
我试图导入数据包含日文字符。这有点长,但这是我尝试导入的3条线。我希望在这里发布是可以的,以防数据本身存在导致错误的问题。
{ "NICT-ATR" : { "A" : { "adequacy" : 3, "fluency" : 4 }, "B" : { "adequacy" : 3, "fluency" : 3 }, "C" : { "adequacy" : 4, "fluency" : 2 }, "output" : "図12を参照して、本発明の第三実施例に説明説明次に、。" }, "NTT" : { "A" : { "adequacy" : 5, "fluency" : 5 }, "B" : { "adequacy" : 5, "fluency" : 5 }, "C" : { "adequacy" : 5, "fluency" : 5 }, "output" : "次に、 図 12 を参照して、 本発明の第 3 の実施例について説明する。" }, "_id" : { "$oid" : "4ed3428a7f7130fdf093a41d" }, "english" : "Next, explanation will be given on a third embodiment of the present invention, by referring to FIG. 12.", "id" : "20000523-155948-EMBODIMENTS-73", "kuro" : { "A" : { "adequacy" : 5, "fluency" : 5 }, "B" : { "adequacy" : 5, "fluency" : 5 }, "C" : { "adequacy" : 5, "fluency" : 5 }, "output" : "次に、本発明の第3の実施例について12図である参照して説明する。" }, "moses" : { "A" : { "adequacy" : 5, "fluency" : 5 }, "B" : { "adequacy" : 5, "fluency" : 5 }, "C" : { "adequacy" : 5, "fluency" : 5 }, "output" : "次に 、 図 12 を 参照 し て 、 本 発明 の 第 3 実施 例 について 説明 する 。 " }, "ref" : "次に、本発明の第3実施例を図12用いて説明する。", "tsbmt" : { "A" : { "adequacy" : 4, "fluency" : 4 }, "B" : { "adequacy" : 4, "fluency" : 3 }, "C" : { "adequacy" : 4, "fluency" : 4 }, "output" : "次に、説明は図12の参照から本発明の3番めの実施例上で与えられるだろう。" } }
{ "NICT-ATR" : { "A" : { "adequacy" : 4, "fluency" : 5 }, "B" : { "adequacy" : 5, "fluency" : 4 }, "C" : { "adequacy" : 4, "fluency" : 3 }, "output" : "印字機構は、感光体ドラム11が設けられている。" }, "NTT" : { "A" : { "adequacy" : 5, "fluency" : 5 }, "B" : { "adequacy" : 5, "fluency" : 5 }, "C" : { "adequacy" : 5, "fluency" : 5 }, "output" : "プリント機構は、 感光体ドラム 11 を備えている。" }, "_id" : { "$oid" : "4ed3428b7f7130fdf093a819" }, "english" : "The printing mechanism comprises the photosensitive drum 11.", "id" : "19990621-173924-EMBODIMENTS-11", "kuro" : { "A" : { "adequacy" : 4, "fluency" : 5 }, "B" : { "adequacy" : 5, "fluency" : 4 }, "C" : { "adequacy" : 1, "fluency" : 2 }, "output" : "印刷機構は、感光体ドラム11配置構成されている。" }, "moses" : { "A" : { "adequacy" : 5, "fluency" : 5 }, "B" : { "adequacy" : 5, "fluency" : 5 }, "C" : { "adequacy" : 5, "fluency" : 5 }, "output" : "プリント 機構 は 、 感光 体 ドラム 11 を 備え て いる 。 " }, "ref" : "プリント機構は、感光体ドラム11を備えている。", "tsbmt" : { "A" : { "adequacy" : 5, "fluency" : 5 }, "B" : { "adequacy" : 5, "fluency" : 5 }, "C" : { "adequacy" : 4, "fluency" : 3 }, "output" : "印字機構は感光性のドラム11を含む。" } }
{ "NICT-ATR" : { "A" : { "adequacy" : 4, "fluency" : 5 }, "B" : { "adequacy" : 5, "fluency" : 4 }, "C" : { "adequacy" : 4, "fluency" : 3 }, "output" : "図25は、インデックスコーナー。" }, "NTT" : { "A" : { "adequacy" : 5, "fluency" : 5 }, "B" : { "adequacy" : 5, "fluency" : 5 }, "C" : { "adequacy" : 5, "fluency" : 4 }, "output" : "インデックスコーナを図 25 に示す。" }, "_id" : { "$oid" : "4ed3428b7f7130fdf093a6c9" }, "english" : "FIG. 25 shows the index corner.", "id" : "19990630-184545-EMBODIMENTS-234", "kuro" : { "A" : { "adequacy" : 5, "fluency" : 5 }, "B" : { "adequacy" : 5, "fluency" : 5 }, "C" : { "adequacy" : 5, "fluency" : 3 }, "output" : "インデックスコーナー図25示す。" }, "moses" : { "A" : { "adequacy" : 5, "fluency" : 5 }, "B" : { "adequacy" : 5, "fluency" : 5 }, "C" : { "adequacy" : 5, "fluency" : 5 }, "output" : "インデックス コーナ 部 を 図 25 に 示す 。 " }, "ref" : "図25に、インデックスコーナーを示している。", "tsbmt" : { "A" : { "adequacy" : 5, "fluency" : 5 }, "B" : { "adequacy" : 5, "fluency" : 5 }, "C" : { "adequacy" : 5, "fluency" : 5 }, "output" : "図25はインデックス・コーナーを示す。" } }
第一行永远不会被导入。我试着改变顺序,在标题中插入一个空行,它总是第一行。
更容易引起混淆,mongoimport声称它的正常工作,说它进口3个对象:
$ ./mongoimport --file ~/ribes/ntcir-min.json -c ej --drop
connected to: 127.0.0.1
dropping: test.ej
imported 3 objects
然后收集在检查数据只返回2的结果:
$ ./mongo
MongoDB shell version: 2.0.0
connecting to: test
> db
test
> db.ej.count()
2
没有人有任何这可能是什么想法?
更新:添加一个空的JSON对象到第一线{}
使得mongoimport
说imported 4
但给出正确的输出数据。
更新:当我试图用mongoimport -d ntcir
指定分贝,而不是把它留给默认test
的,正确导入数据。这是预期的行为?
答
试图重现我的箱子 文本复制到UTF-8编码的文件 运行导入命令 和它成功...
的区别是,我必须指定-h原因默认值(127.0.0.1)在我的环境中不可识别...
c:\Servers\Mongo\bin>mongoimport.exe --file d:\imp.json -h localhost -c ej --drop
connected to: localhost
dropping: test.ej
imported 3 objects
c:\Servers\Mongo\bin>mongo.exe
MongoDB shell version: 2.0.1
connecting to: test
> db.version()
2.0.1
> db
test
> db.ej.count()
3
答
我也已验证它对我来说正常工作。它必须与文件编码和Windows可能有关。你是如何创建文本文件的?
如果你可以,尝试在Windows创建一个UTF-8文件指令,因此我们可以肯定它不是一个编码的问题:
您可以节省使用记事本文件(有时称为“编辑器“)为UTF-8,但不是写字板。
- 打开记事本
- 将文本粘贴到新文件
- 文件 - 另存为 - >还有你看3场设置的最后一个所谓的 “编码” 到:UTF-8
请让我知道如果这是诀窍。