使用可选的mongoose模型属性作为URL参数

时间:2015-04-29 13:15:02

标签: node.js express mongoose

我正在使用模型的属性作为URL参数 '/parent/:arg1'并且控制器像这样处理它

exports.parent = function (req, res) {
  if (typeof(User.profile.property) == undefined) {
    console.log("User does not have property");
  }
  unirest('api.example.com/endpoint/' + User.profile.property)`
然而,快递返回连接500类型错误页面,说它不能准备属性'属性'的未定义(我预期)但我没有从typeOf得到输出检查我的最终目标是重定向到用户配置文件页面到更新系统。

1 个答案:

答案 0 :(得分:1)

错误告诉您的是User.profile未定义。由于User.profile.property正在尝试访问undefined的属性,因此会引发错误。您可以将条件检查更新为:

exports.parent = function(req, res) {
  if (User.profile) {
    if (User.profile.property === undefined) {
      console.log("User.profile does not have property");
    } else {
      unirest('api.example.com/endpoint/' + User.profile.property);
    }
  } else {
    console.log("User does not have profile");
  }
}