Sha*_*han 5 java mongodb nosql
当从java程序存储长值时,mongodb
该值以这种格式存储
`NumberLong(n)`.
db.mycollection.find()
{ "_id" : ObjectId("52bd9475c8ceae448b16c077"), "companyId" : NumberLong(10132), "tableId" : NumberLong(87803), "rowId" : NumberLong(88154), "classNameId" : NumberLong(10129), "classPK" : NumberLong(88153) }
Run Code Online (Sandbox Code Playgroud)
但我想将这些值存储为 10132、87803 等。
JavaScript 只有一个数字类型Number
,它存储为双精度浮点值。MongoDB 使用的存储BSON
格式支持比 JavaScript 更多的原生类型,包括 32 位和 64 位整数。
NumberLong()
您在 shell 中看到的值是mongo
辅助函数的结果,该函数表示 JavaScript 中的 64 位整数 - 这确认您的数字已按预期保存。如果您通过 Java 程序读回这些值,您会发现它们仍然是 long。
有关详细信息,请参阅Shell中的数据类型mongo
。