Node.js mongoose文档值可以是函数吗?
为了便于讨论,我们采用以下模式:Node.js mongoose文档值可以是函数吗?,node.js,mongodb,mongoose,Node.js,Mongodb,Mongoose,为了便于讨论,我们采用以下模式: const ImaginarySchema = new Schema ({ Name: String, Age: Number, Weight: Number, Value: Number, }); 在此模式中,值的计算方式由以下函数表示: function calculateValue(age, weight) { value = Age*Weight; }; 考虑到年龄每天增加一岁,该值当然会定期变化
const ImaginarySchema = new Schema ({
Name: String,
Age: Number,
Weight: Number,
Value: Number,
});
在此模式中,值的计算方式由以下函数表示:
function calculateValue(age, weight) {
value = Age*Weight;
};
考虑到年龄每天增加一岁,该值当然会定期变化,因此需要使用函数自动计算
实现这一点的最佳方式是什么?它应该放在应用程序中的什么位置
我的尝试:
首先,我想尝试下面的语法,但根据建议,不建议将应用程序逻辑存储在服务器上,因此将此函数保存在server.js中似乎不是最好的主意,这是假设这种语法甚至是可能的
const ImaginarySchema = new Schema ({
Name: String,
AgeinDays: Number,
Weight: Number,
Value: calculateValue(),
});
第二,我在看下面的内容,但我仍然不清楚这是否应该在模型文件中,如果它在模型文件中,那么如何定期运行它
.pre('save'), function(next){
function calculateValue(age, weight) {
value = Age*Weight;
next();
};
提前感谢您的帮助 也许你正在寻找难以捉摸的猫鼬静力学: 静力学创建了一个人工方法,可以解析为您想要的结果 如果这不是您要搜索的内容,请查看下面的内容,其中有一些查询帮助程序可能适合您的需要 如果这仍然不是你正在寻找的,看看下面,我认为有一些虚拟的最符合你的描述
除上述内容外,我不建议您在给定相同静态输入的情况下更新数据源(数据库)以存储动态值。我建议您有一个模型层(定义模式和与模式相关联的静态/帮助程序),并使用它来计算您的值。根据,文档不能是函数。 有效类型包括:
- 串
- 数
- 日期
- 缓冲区
- 布尔值
- 混合的
- 目标
- 排列
- 小数128
- 地图