#javascript #node.js #mongoose #builder-pattern #mongoose-plugins
#javascript #node.js #mongoose #builder-pattern #mongoose-плагины
Вопрос:
Вопрос больше касается реализации цепных методов mongoose, чем собственно запросов 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
, и exec
. Если у кого-нибудь есть идея и он объяснит, как это работает, это будет действительно полезно.
Комментарии:
1. Ознакомьтесь с шаблоном Builder . Свободные интерфейсы обычно сводятся к этому.
2. @VLAZ Спасибо, я это проверю.