İşte yapmaya çalıştığım şey.Mongoose ara katmanını sorgu oluşturucu ile birlikte kullanmanın bir yolu var mı?
Güvenilir bir ortamda mongoosejs kullanıyorum (ne geçtiyse her zaman güvenli/yaygın olarak kabul edilir) ve çalışmam gereken her sorguda "seç" ve "doldur" öğelerini iletmem gerekiyor. Bunu her istek için tutarlı bir şekilde alıyorum. Ben katman veya diğer yapı için geçerdi
var paramObject = sentFromUpAbove; // sent down on every Express request
var query = {...}
Model.myFind(query, paramObject).exec(function(err, data) {...});
fonksiyon sadece basit::
function(query, paramObject) {
return this.find(query)
.populate(paramObject.populate)
.select(paramObject.select);
}
Ve findOne için aynı Böyle bir şey yapmak istiyorum. Mongoose'u doğrudan genişleterek bunu nasıl yapacağımı biliyorum ama bu kirli hissettiriyor. Bu yazılımı temiz ve biraz ileride kanıtlayan bir şekilde orta katman veya başka bir yapı kullanmayı tercih ederim.
Modele göre bir model üzerinde statikler aracılığıyla bunu başarabileceğimin farkındayım, ancak bunu her modelde evrensel olarak yapmak istiyorum. Herhangi bir tavsiye?
Bunu yapmanın yoludur. Kirli ya da sanmıyorum, dalış zamanı. –