7

NumberLongを使用して MongoDBにインポートするにはどうすればよいmongoimportですか?

残念ながら、json ファイルに次のようなエントリがあると、エラーが発生します。

{"_id": NumberLong(123)}
{"_id": NumberLong("123")}

結果:

Mon Nov 12 14:41:46 Assertion: 10340:Failure parsing JSON string near: "_id": Num
0xaf6b21 0xabe459 0xabe5dc 0x7b93ad 0x56160d 0x5630f4 0xabb412 0x5546bc 0x7f961b79776d 0x554549 
 mongoimport(_ZN5mongo15printStackTraceERSo+0x21) [0xaf6b21]
 mongoimport(_ZN5mongo11msgassertedEiPKc+0x99) [0xabe459]
 mongoimport() [0xabe5dc]
 mongoimport(_ZN5mongo8fromjsonEPKcPi+0x56d) [0x7b93ad]
 mongoimport(_ZN6Import8parseRowEPSiRN5mongo7BSONObjERi+0xa2d) [0x56160d]
 mongoimport(_ZN6Import3runEv+0x1314) [0x5630f4]
 mongoimport(_ZN5mongo4Tool4mainEiPPc+0x1712) [0xabb412]
 mongoimport(main+0x2c) [0x5546bc]
 /lib/x86_64-linux-gnu/libc.so.6(__libc_start_main+0xed) [0x7f961b79776d]
 mongoimport(__gxx_personality_v0+0x419) [0x554549]
Mon Nov 12 14:41:46 exception:BSON representation of supplied JSON is too large: Failure parsing JSON string near: "_id": Num
Mon Nov 12 14:41:46 
Mon Nov 12 14:41:46 imported 0 objects
Mon Nov 12 14:41:46 ERROR: encountered 1 error
4

3 に答える 3

3

NumberLong は Javascript シェル出力のみのもので、MongoDB が 64 ビット整数を格納したことを示します。インポートには、次を使用できます。

{ "_id": 123 }

また、通常の数値 (int32) を自動的に使用するか、大きすぎる場合は NumberLong (int64) を使用します。MongoDB での操作の場合、in32 または int64 として格納されているかどうかは問題ではありません。

于 2012-11-12T13:54:23.007 に答える
0

を使用する場合はmongodump、使用する必要がありますmongorestoremongoimportで生成されたファイルに誤って入力してしまいましたmongodump。これは失敗し、次のように表示されます。

Wed Jan  9 16:47:23 exception:BSON representation of supplied JSON is too large: Failure parsing JSON string near: <h2></h2>
Wed Jan  9 16:47:23 
Wed Jan  9 16:47:23 Assertion: 10340:Failure parsing JSON string near: <h3>The He
0xafda51 0xac5399 0xac551c 0x7bbecd 0x561a8d 0x563574 0xac1b8b 0x554b3c 0x3b9801ecdd 0x5549c9 
 mongoimport(_ZN5mongo15printStackTraceERSo+0x21) [0xafda51]
 mongoimport(_ZN5mongo11msgassertedEiPKc+0x99) [0xac5399]
 mongoimport() [0xac551c]
 mongoimport(_ZN5mongo8fromjsonEPKcPi+0x56d) [0x7bbecd]
 mongoimport(_ZN6Import8parseRowEPSiRN5mongo7BSONObjERi+0xa2d) [0x561a8d]
 mongoimport(_ZN6Import3runEv+0x1314) [0x563574]
 mongoimport(_ZN5mongo4Tool4mainEiPPc+0x16cb) [0xac1b8b]
 mongoimport(main+0x2c) [0x554b3c]
 /lib64/libc.so.6(__libc_start_main+0xfd) [0x3b9801ecdd]
 mongoimport(_
_gxx_personality_v0+0x419) [0x5549c9]

期待する応答ではないため、Mongo との間でデータを移動する方法に注意してください。

于 2013-01-09T22:02:10.597 に答える