2012-08-15 49 views
0

閱讀的頁面對MongoDB的Long Datatype建立的MongoDB long類型 - 它說我創建一個這樣的:如何從字符串中的node.js

var myLong = new Long(low, high); 

其中低和高都簽署了較大的32個部分64位數字......

我有使用node-bigint

'164150943396226415094339622641509433' 

如何轉換這64位以下數字作爲一個字符串!?!字符串轉換爲Long構造函數所需的32位低位和高位...

此外 - 索引Mongo $ gt搜索會更快,字符串還是Long?

預先感謝 - 我出我的深度...

編輯1

右鍵 - 在original(更加模糊的)話題 - 答案是,這個數字太大了64位....

所以 - 我的問題是,什麼是節約和2份搜索這個數,所以原來的字符串變成最快的方法:

'164150943396226415' and '094339622641509433' 

我應該把他們變成多頭(在這種情況下怎麼樣的前導零)或字符串搜索一樣快/慢...

您可以重新詞組的問題:

在MongoDB中會一龍或字符串更快:再次

'164150943396226415' 

感謝....

+0

不知道,如果你看到我更新在你原來的線程,但該號碼的方法太大而無法存儲在64位中。可能的最大值是2^63-1或9223372036854775807. – JohnnyHK 2012-08-15 23:40:24

+0

試試看看什麼是更快的;) – matz3 2012-08-16 00:04:16

+0

@BInoCarlos另一個理智檢查:我認爲你走向這條路,因爲你認爲JavaScript和MongoDB只支持32位彩車。這是不正確的;它們都支持雙精度64位IEEE 754浮點。你確定這不足以達到你的目的嗎? – JohnnyHK 2012-08-16 01:21:36

回答

0

權!

我一直跟我的朋友 - 他解釋了我所有的錯誤引導的假設......

數「164150943396226415094339622641509433」太大了,64位...

他所述搜索字符串將總是焦成炭和分裂成2恭維對實際的64位數字的號碼是快...

所以,上面的數字我們:

var higher = Long.fromString('1641509433962264150'); 
var lower = Long.fromString('94339622641509433'); 

,然後執行:

(this.higher > that.higher) && (this.lower > that.lower) 

對不起,問這是根據我自己的錯誤認識問題:)

相關問題