为什么req.user会报错?
发布于 2 年前 作者 golmic 875 次浏览 最后一次编辑是 1 年前 来自 问答

这是代码: exports.addTags = function(req, res) { console.log(req.user.tags);//这是正常的 var tags = req.body.tags.split(","); for (var i in tags) { req.user.tags.addToSet(tags[i]);//这个报错,ubdefined }; req.user.save(function(err) { if (err) { res.send(“添加用户级tag失败!”); } else { //res.send(‘更新数据成功!’); res.send(‘添加用户级tag成功’); }; }); } 这是log: QQ截图20150724105013.png 这是相应行数: QQ截图20150724105051.png

为什么 console.log(req.user.tags);就正常,而 req.user.tags.addToSet(tags[i]);就会报错呢?

3 回复

addToSet 据说这个方法未定义

@luoyjx 你好,用的是mongoosejs写数据库,我提出这个问题是因为,如果我把路由规则改成

/user/:username POST

那么这个控制器中代码一点都不需要动就可以正确执行,而如果现在,我的路由规则是/user/ POST

就出现了帖子所示的问题,所以我才搞不懂是为什么。

谢谢你的解答,希望能再帮帮我~~不胜感激

@golmic 这和路由没啥必然联系吧,报错的这个方法是你自己定义的还是

回到顶部