Mongoose getter正在获取未定义的参数
Mongoose getter is getting undefined parameter
我正在Mongoose模式中存储一个价格值,根据我应该如何在Mongoose中存储价格的答案?
我的模式定义中有以下代码:
price: {
value: {
type: Number,
get: getPrice,
set: setPrice,
min: 0
},
currency: {
type: String,
default: 'PLN',
trim: true,
enum: ['PLN', 'EUR']
}
},
以及我的get函数:
function getPrice(num){
return (num/100).toFixed(2);
}
然而,每当调用这个getter函数时,我都可以看到num参数是未定义的。
你知道这可能是什么原因吗?我该怎么解决这个问题?
为值添加默认值零。此外,mongoose对不在数组中的子文档非常糟糕,这可能导致了这个问题。
value: {
type: Number,
get: getPrice,
set: setPrice,
min: 0,
default: 0
},
如果getter/setters给您带来了mongose模型的问题,请使用mongose模式中的本地静态方法:
mySchema.static('getPrice', function(){
//'this' in the context means a document that shares the schema
return (this.price.value/100).toString(2);
});
您可以在任何具有以下模式的文档中调用该方法:
var myPrice = oneMongooseDocument.getPrice();
是一种非常干净的方法。
相关文章:
- 要求未定义JS回调参数
- 为什么grunt contrib connect的中间件选项的第三个参数是未定义的
- 角度指令控制器:参数不是函数,未定义
- AngularJS-参数'菜单Ctrl'不是函数,未定义
- JS和Jquery函数参数未定义
- 为什么我传递给函数的参数未定义
- setInterval调用具有未定义参数的函数
- 将对象作为参数传递后的未定义属性
- 错误:[ng:areq]参数'CompanyCtrl'不是函数,未定义
- Javascript-函数获取数组元素参数未定义/为null
- 为什么我的函数参数说是未定义的
- 控制器错误:参数不是函数,未定义
- JS函数返回函数供以后使用-未定义参数
- 错误:参数'ContactController'不是函数,未定义
- 在ColdFusion中表单范围中未定义AJAX请求的发布参数
- JavaScript 事件中的未定义参数
- 向函数传递未定义参数-检查变量是否存在
- 在javascript中,如何区分没有参数传递和未定义参数传递
- Javascript Uncaught ReferenceError:未定义参数
- 对快速路由使用回调函数时的未定义参数