mongoose和nodejs:count等于undefined

时间:2017-03-23 14:56:27

标签: node.js mongodb mongoose count

我正在使用nodejs和mongoose来构建一个小项目。我正在使用“count()”函数来检查我的集合中是否有特定文档。

由于某种原因,当集合中不存在“_id”属性时,“count”值为“undefined”而不仅仅是纯零。

app.get('/:id', function (req, res) {

    var userId = req.params.id;

    User.count({_id: userId}, function (err, count) {
        if (count === undefined) {  
            console.log(count); // in the console count is "undefined"
            res.status(404).sendFile('./ErrorFiles/404.html', {root: __dirname});
        } else {
            console.log(count);
            res.sendFile('./public/index.html', {root: __dirname}, function (err) {
                if (err) {
                    console.error(err);
                    res.sendStatus(404);
                }
            });
        }
    });
});

在我的“if”语句中我写了“count === undefined”只是为了测试它是否正常工作。无论如何,如果“_id”不在集合中,“count”应该等于零,对吧?

如果“_id”在集合中,那么“count === 1”并且函数运行良好。所以只有当“_id”不在集合中时才会出现问题。

喜欢得到一些帮助,谢谢。

0 个答案:

没有答案