Here's what I'm trying to do.

I'm using mongoosejs in a trusted environment (aka what's passed is always considered safe/prevalidated) and I need to pass it "select" and "populate" stuff on potentially every query I run. I'm getting this in a consistent manner for every request. I want to do something like this:

```
var paramObject = sentFromUpAbove; // sent down on every Express request
var query = {...}
Model.myFind(query, paramObject).exec(function(err, data) {...});

```

The function I would pass to the middleware or other construct is simple, just:

```
function(query, paramObject) {
  return this.find(query)
    .populate(paramObject.populate)
    .select(paramObject.select);
}

```

And the same for a findOne. I know how to do this by directly extending Mongoose, but that feels dirty. I'd rather use middleware or some other construct that does this in a clean and somewhat future proof way.

I'm aware that I can accomplish this via statics on a model by model basis, but I'd like to do it universally on every model. Any advice?