MongoDB 在调用 db.<collection> 时的隐式集合访问的工作
Working of MongoDB's implicit collection access on calling db.<collection>
在MongoDB中,当我们访问db对象上的集合时,如果集合未定义,它会隐式调用DB.prototype中定义的getCollection函数。
我无法弄清楚此调用在 Mongo shell 来源中的什么位置:https://github.com/mongodb/mongo/tree/master/src/mongo/shell
这是如何工作的?
从 MongoDB 3.4 开始,mongo
shell 与作为 MongoDB 服务器代码库一部分的脚本引擎 API 集成。默认收集行为是通过覆盖 db
对象的 getProperty
方法实现的:src/mongo/scripting/mozjz/db.cpp.
我不相信有一种等效的方法可以在纯 JavaScript 中进行这种自动加载,因为唯一可用的默认 JavaScript 方法是 class 构造函数。
在MongoDB中,当我们访问db对象上的集合时,如果集合未定义,它会隐式调用DB.prototype中定义的getCollection函数。
我无法弄清楚此调用在 Mongo shell 来源中的什么位置:https://github.com/mongodb/mongo/tree/master/src/mongo/shell
这是如何工作的?
从 MongoDB 3.4 开始,mongo
shell 与作为 MongoDB 服务器代码库一部分的脚本引擎 API 集成。默认收集行为是通过覆盖 db
对象的 getProperty
方法实现的:src/mongo/scripting/mozjz/db.cpp.
我不相信有一种等效的方法可以在纯 JavaScript 中进行这种自动加载,因为唯一可用的默认 JavaScript 方法是 class 构造函数。