微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

node.js – Mongoose模式/模型中的自定义构造函数

问候全部!

我定义了一个Mongoose模式如下,并注册一个模型(InventoryItemmodel).有没有办法为模式创建自定义构造函数,这样当我从模型中实例化一个对象时,函数将被调用(例如,从数据库中加载值的对象)?

var mongoose = require('mongoose'),Schema = mongoose.Schema

var InventoryItemSchema = new Schema({
    Sku : String,Quanity : Number,Description : String,Carted : [],CreatedDate  : {type : Date,default : Date.Now},ModifiedDate  : {type : Date,default : Date.Now}
});

mongoose.model('InventoryItem',InventoryItemSchema);

var item = new InventoryItem();

我可以添加一些自定义构造函数,以便在实例化时从数据库中填充项目?

解决方法

根据您要采取的方向,您可以:

1)使用钩

当模型初始化,验证,保存和删除时,钩子将自动触发.
这是“内向外”的解决方案.
您可以在这里查看文档:

> http://mongoosejs.com/docs/middleware.html

2)为你的架构写一个静态创建函数.

静态存在于您的模型对象上,可用于替换创建新模型的功能.如果您有创建步骤的额外逻辑,您可以自己编写一个静态功能.这是“外在”的解决方案:

> http://mongoosejs.com/docs/guide.html#statics

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐