在JavaScript中的ValueOf()

从我的database.js我导出我的三种用户types的mongoose模型:

 module.exports = { root: rootCol, advisor: advisorCol, student: studentCol, }; 

在我的api.js ,我从req.body.type得到usertype,它将是( rootadvisor或者student

当我尝试:

 var models = require('../database.js'); models.req.body.type.valueOf().findOne({ .... 

它说的东西没有findOne方法。 我试图访问models.rootmodels.advisor而不必使用if语句。 有什么办法可以做到这一点?

models.req.body.type意思是这样的:

 { "models": { "req": { "body":{ "type": .... } } } } 

为了使Javascript解决variables的价值,你必须使用models[req.body.type]

这意味着通过该属性的名称( req.body.type的值)获取属性在models的值。