mongodb - 将长值导入 mongodb

标签 mongodb mongoimport

如何使用 mongoimportNumberLong 导入 MongoDB?

很遗憾,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

最佳答案

NumberLong 是一个 Javascript Shell 输出唯一的东西,表明 MongoDB 已经存储了一个 64 位整数。对于导入,您可以使用:

{ "_id": 123 }

它会自动使用普通数字 (int32),或者如果它太大,使用 NumberLong (int64)。对于 MongoDB 中的操作,存储为 in32 还是 int64 都没有关系。

关于mongodb - 将长值导入 mongodb,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13344856/

相关文章:

javascript - Node.js 检测两个 Mongoose 查找何时完成

MongoDB 聚合管道 多个组使管道复杂化

Mongodb findAndModify 每个文档

MongoDB导入错误断言9998

mongodb - 使用 mongoimport 从 HDFS 导入数据到 MongoDB

json - Mongoimport json 文件更新或覆盖..?

spring - 通过构建脚本更改mongo dbname

Java MongoDB : What is the difference between com. mongodb.DB 和 com.mongodb.client