问题更多是关于链式方法的猫鼬实现,而不是实际的 mongo 查询。我正在为插件实现工作,我需要为其提供自定义方法,如populate
,count
等,如下所示。
a.find({ b: 'thing' }).populate('d').exec(etc..)
我正在使用 mongoose 静态方法来创建插件特定方法,如下所示:
Schema.statics.byName = function(name) {
return this.find({ name: name });
};
我正在查看 mongoose 模块存储库,它花费的时间比我想象的要多,我想知道这些链式方法是如何实现的。如果调用 find 和 populate 链接如上所示,如何确定哪些方法被链接并处理它们,
在上面的示例中,链接的方法是find
、populate
和exec
。如果有人有想法并解释它的工作方式,那将非常有帮助。