Express.js + Mongoose。 find()没有传递定义变量的结果

时间:2016-02-27 06:27:06

标签: javascript node.js mongodb express mongoose

我正在尝试将项目设置为仅由发布它的用户查看。我正在使用Passport.js来处理会话。在这段代码中,我能够看到一切都成功运行到最后。

value = arrray[index];

在没有用户组件的情况下,我能够毫无问题地运行相同的代码。数据库中的所有者值与currentUser变量输出的值相同。

一切似乎工作正常但是出于某种原因,当它使管道变为我的条件时,我在控制台日志中得到“project / undefined”作为我的最终结果。

我知道它可能很小,但我已经好几个小时了,我需要帮助!

1 个答案:

答案 0 :(得分:1)

您的代码中存在小错误。通常,即使结果计数为1,mongoose find也会返回一个对象数组。所以将代码更改为

else if (projects && projects.length===1) {
                latest = projects[0]._id
                res.redirect('/project/' + latest);
            }