![](/img/trans.png)
[英]Accepting Data From a Form And Saving It To MongoDB through Mongoose & Express
[英]Calculation when sending data through Mongoose to MongoDb
我正在尝试计算用户 BMI 并将其发送到我的 MongoDB atlas db,bmi 将通过用户输入的身高和体重计算,我已经设置了 ZCCADCDEDB567ABAE643E15DCF0974E503Z 架构,该架构在此点设置了 ZC1C425268E68385D1AB50741C没有显示在帖子请求中,任何人都可以引导我朝着正确的方向前进吗?
const mongoose = require('mongoose');
const users = mongoose.Schema({
username:{
type: String,
required: true
},
first:{
type: String,
required: true
},
last:{
type: String,
required: true
},
occupation:String,
profile:{
age:{
type: Number,
required: true
},
sex:{
type: String,
required: true
},
height:{
type: Number,
required: true
},
weight:{
type: Number,
required: true
},
//Issue is here. Trying to use the Schema to 'pre' calculate
bmi:{
type: Number,
get: () =>{
let BMI = weight/height ** 2
return BMI
},
set: BMI => BMI,
alias: 'bmi',
},
eyeColor: String,
incomePM: Number,
interestedIn: String
}
})
module.exports = mongoose.model('users', users);
尝试使用mongoose的pre
中间件,
const mongoose = require('mongoose');
const users = mongoose.Schema({
username:{
type: String,
required: true
},
first:{
type: String,
required: true
},
last:{
type: String,
required: true
},
occupation:String,
profile:{
age:{
type: Number,
required: true
},
sex:{
type: String,
required: true
},
height:{
type: Number,
required: true
},
weight:{
type: Number,
required: true
},
bmi:{
type: Number,
},
eyeColor: String,
incomePM: Number,
interestedIn: String
}
})
users
.pre('save', function(next){
console.log(this.profile.weight);
console.log(this.profile.height);
this.profile.bmi =
(this.profile.weight/this.profile.height) ** 2;
next();
});
module.exports = mongoose.model('users', users);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.