如果Mongoose 模型设计用于实例,而静态用于模式,那么静态方法为什么/如何提供对文档的访问权限对象
示例:
以下代码允许我从Mongoose文档转换为JSON文档:
appSchema.statics.toItem = function (done) {
var item = toItemSync(this);
return done(null, item);
};
function toItemSync (model) {
return {
id : model.id,
[snip]
};
}
var App = mongoose.model('App', appSchema);
module.exports = App;
我正在从我的路线呼叫toItem()
以从不应发送给客户端的文档中删除信息...
models.Application.findById(id, function(err, app) {
if (err) { return next(err); }
if (!app) { return next('Invalid ID'); }
app.toItem(function(err, appItem){
if (err) { return next(err); }
res.send(appItem);
});
});
我正在阅读的所有文档都让我相信这不是(或不应该)是可能的:
What is the difference between methods and statics in Mongoose?