Node.js Mongoose模型方法:属性don';你不存钱吗?
我试图在mongoose模型上编写一个方法,该方法将根据我传入的对象填充一些字段Node.js Mongoose模型方法:属性don';你不存钱吗?,node.js,mongodb,mongoose,Node.js,Mongodb,Mongoose,我试图在mongoose模型上编写一个方法,该方法将根据我传入的对象填充一些字段 let mySchema = mongoose.Schema({ name: String, age: Number, street: { type: String, default: 'No' } }); mySchema.methods.populate = function(o) { this.age = o.age + 10; }); 在其他地方,我将初始化一个实例并运行
let mySchema = mongoose.Schema({
name: String,
age: Number,
street: { type: String, default: 'No' }
});
mySchema.methods.populate = function(o) {
this.age = o.age + 10;
});
在其他地方,我将初始化一个实例并运行该方法:
let newThing = new MySchema();
newThing.populate({ age: 12 });
newThing.save();
这将成功地在mongo中保存一个新对象,除默认街道名称外,没有其他属性。我做错什么了吗?您可以参考这段代码,这段代码可以正常工作 在server.js中
var mongoose = require('mongoose')
var Model = require('./model')
mongoose.Promise = global.Promise;
mongoose.connect('**dbUrl**')
var NewData = new Model({
name: 'Tolsee'
})
NewData.populate({ age: 15 })
NewData.save(function(err){
if (err) {
throw err
}else{
console.log('Your data is saved successfully')
}
})
var mongoose = require('mongoose')
var Schema = mongoose.Schema
const customSchema = new Schema({
name: String,
age: Number,
street: { type: String, default: 'No' }
})
// Custom function
customSchema.methods.populate = function(o) {
this.age = o.age
return this.age
}
// create the model to export
var custom = mongoose.model('customModel', customSchema)
module.exports = custom
在model.js中
var mongoose = require('mongoose')
var Model = require('./model')
mongoose.Promise = global.Promise;
mongoose.connect('**dbUrl**')
var NewData = new Model({
name: 'Tolsee'
})
NewData.populate({ age: 15 })
NewData.save(function(err){
if (err) {
throw err
}else{
console.log('Your data is saved successfully')
}
})
var mongoose = require('mongoose')
var Schema = mongoose.Schema
const customSchema = new Schema({
name: String,
age: Number,
street: { type: String, default: 'No' }
})
// Custom function
customSchema.methods.populate = function(o) {
this.age = o.age
return this.age
}
// create the model to export
var custom = mongoose.model('customModel', customSchema)
module.exports = custom
首先,您需要创建一个模型以使用模式。这些模型的实例是可以使用您定义的自定义方法的文档。您正在导出模式吗?因为您的代码中没有其他错误。@Khurram如果不导出架构,他能保存默认值吗?