阅读关于MongoDB Long Datatype的页面 - 它说我创建了一个这样的:
var myLong = new Long(low, high);
其中低位和高位是较大的64位数字的32位部分......
我使用node-bigint
将以下数字作为字符串'164150943396226415094339622641509433'
如何转换此64位!?!串行到Long构造函数所需的32位低位和高位......
此外 - 索引的Mongo $ gt搜索是否会更快地使用字符串或Long?
提前致谢 - 我不在我的身边...
编辑1
正确 - 在original(更模糊)线程上 - 答案是这个数字对于64位来说太大了......
所以 - 我的问题是,以2个部分保存和搜索这个数字的最快方法是什么,因此原始字符串变为:
'164150943396226415' and '094339622641509433'
我应该把它们变成Longs(在这种情况下,前导零点怎么样)或者字符串搜索速度快/慢......
你可以重新说出这个问题:
在MongoDB中,Long或String会更快:
'164150943396226415'
再次感谢....
答案 0 :(得分:0)
右键!
我一直在跟我的朋友说话 - 他解释了我所有误导的假设......
数字'164150943396226415094339622641509433'对于64位来说太大了......
他说搜索字符串将始终按字符串char并且将数字拆分为2对实际64位数字更快...
所以,对于上面的数字,我们有:
var higher = Long.fromString('1641509433962264150');
var lower = Long.fromString('94339622641509433');
然后做一个:
( this.higher > that.higher ) && (this.lower > that.lower)
很抱歉提出一个基于我自己的误解的问题:)