Oto, co próbuję zrobić.Czy istnieje sposób używania oprogramowania pośredniego Mongoose z narzędziem do tworzenia zapytań?
Używam mongoosejsa w zaufanym środowisku (aka tego, co zostało przekazane, zawsze uważane jest za bezpieczne/wstępnie zatwierdzone) i muszę przekazać mu "wybierz" i "zapełnij" treść potencjalnie przy każdym uruchomionym zapytaniu. Dostaję to w spójny sposób dla każdego wniosku. Chcę zrobić coś takiego:
var paramObject = sentFromUpAbove; // sent down on every Express request
var query = {...}
Model.myFind(query, paramObject).exec(function(err, data) {...});
Funkcja chciałbym przejść do pośredniczącego lub innego konstruktu jest proste, wystarczy:
function(query, paramObject) {
return this.find(query)
.populate(paramObject.populate)
.select(paramObject.select);
}
I to samo dla findOne. Wiem, jak to zrobić, bezpośrednio przedłużając Mongoose, ale to jest brudne. Wolę używać oprogramowania pośredniego lub innego konstruktora, który robi to w czysty i nieco przyszłościowy sposób.
Jestem świadomy, że mogę to osiągnąć za pomocą statyki na podstawie modelu po modelu, ale chciałbym to zrobić uniwersalnie na każdym modelu. Jakakolwiek rada?
Więc najwyraźniej, dodając do prototypu jest sposobem, aby to zrobić. Brudne czy nie, myślę, że nadszedł czas, aby zanurkować. –