2017-05-04 24 views
1

這主要是一個學術問題,但是我和一個同事對於Mongo(通過MeteorJS使用EJSON哪個序列化正確)是否支持將Infinity作爲查詢限制。在某些情況下,我一直在傳遞它,但沒有明顯的問題,因爲Mongo的文檔沒有清楚地說明它是否得到支持。我甚至嘗試在Mongo CLI上使用它,並按預期工作(​​)。而且在我們任何一個人都可以找到的地方,似乎沒有關於這個具體問題的任何信息。我知道Mongo在技術上不是JS,但它的語法當然是,這導致我認爲它使用JS解析引擎,這導致我相信Infinity被隱式支持。MongoDB是否支持將`Infinity`傳遞給`.limit()`

回答

0

the documentationlimit

limit()行爲是未定義的值小於-2 和大於2 。

我讀到,說明Infinity不支持。

+0

這不是JS整數的正常範圍嗎? 'Infinity'是JS中的一個特例,但仍然是一個數字。 – webbower

+0

@webbower JS本身並不具有整數的概念。服務器的C++實現可能會受到內部使用帶符號int的限制。 – JohnnyHK

+0

它有一個數字類型。底層引擎是否支持'Infinity'的特殊情況(以及其他特殊的JS數字,如'NaN')是一個問題。有測試編寫了Mongo源代碼來測試'Infinity'的值(不知道測試是在沒有潛入的情況下測試的)https://github.com/mongodb/mongo/search?utf8=&&==q=Infinity&type= – webbower

相關問題