2015-12-26 16 views
2

在MongoDB中,當我們訪問數據庫對象的集合時,如果集合未定義,它會隱式地調用DB.prototype中定義的getCollection函數。在調用數據庫時使用MongoDB的隱式集合訪問。 <collection>

我無法揣摩出此調用發生在蒙戈外殼來源:https://github.com/mongodb/mongo/tree/master/src/mongo/shell

這是如何工作的?

+0

它的工作方式與瀏覽器JavaScript執行非常相似。在Mongo中,V8是運行在mongo shell上發佈的javascript查詢的引擎。參考[https://docs.mongodb.org/v3.0/release-notes/2.4-javascript/] – harshavmb

回答

1

與在MongoDB 3.4中一樣,mongo shell與作爲MongoDB服務器代碼庫一部分的腳本引擎API集成。默認收集行爲通過覆蓋db對象的getProperty方法來實現:src/mongo/scripting/mozjz/db.cpp

我不相信在純JavaScript中有這樣一種自動加載的等效方法,因爲唯一可用的默認JavaScript方法是類構造函數。

相關問題