node.js – 如何在mongoose中添加模式方法?

参见英文答案 > Virtuals vs Methods in Mongoose1个
我一直试图找出如何在Mongoose中添加模式方法,它将使用模型属性并以某种方式修改它们.是否可以使下面的代码工作?
var mySchema = new Schema({
  name: {
    type: String
  },createdAt: {
    type: Date,default: Date.now
  },changedName: function () {
    return this.name + 'TROLOLO';
  }
});
MySchema.findOne({ _id: id }).exec(function (error,myschema) {
   myschema.changedName();
});

解决方法

我想是的,你想要实例方法吗?那是你用Schema方法的意思吗?如果是这样,您可以执行以下操作:
var mySchema = new Schema({
      name: {
      type: String
},createdAt: {
   type: Date,default: Date.now
}
});

mySchema.methods.changedName = function() {
    return this.name + 'TROLOLO';
};

Something = mongoose.model('Something',mySchema);

有了这个你可以做:

Something.findOne({ _id: id }).exec(function (error,something) {
   something.changedName();
});

相关文章

这篇文章主要介绍“基于nodejs的ssh2怎么实现自动化部署”的...
本文小编为大家详细介绍“nodejs怎么实现目录不存在自动创建...
这篇“如何把nodejs数据传到前端”文章的知识点大部分人都不...
本文小编为大家详细介绍“nodejs如何实现定时删除文件”,内...
这篇文章主要讲解了“nodejs安装模块卡住不动怎么解决”,文...
今天小编给大家分享一下如何检测nodejs有没有安装成功的相关...