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 构造函数。