在JavaScript中的ValueOf()
从我的database.js
我导出我的三种用户types的mongoose模型:
module.exports = { root: rootCol, advisor: advisorCol, student: studentCol, };
在我的api.js
,我从req.body.type
得到usertype,它将是( root
, advisor
或者student
)
当我尝试:
var models = require('../database.js'); models.req.body.type.valueOf().findOne({ ....
它说的东西没有findOne
方法。 我试图访问models.root
或models.advisor
而不必使用if语句。 有什么办法可以做到这一点?
models.req.body.type
意思是这样的:
{ "models": { "req": { "body":{ "type": .... } } } }
为了使Javascript解决variables的价值,你必须使用models[req.body.type]
。
这意味着通过该属性的名称( req.body.type
的值)获取属性在models
的值。