Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/40.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js Mongodb查找方法不适用于我_Node.js_Mongodb_Express - Fatal编程技术网

Node.js Mongodb查找方法不适用于我

Node.js Mongodb查找方法不适用于我,node.js,mongodb,express,Node.js,Mongodb,Express,我正在用express和mongodb开发Nodejs应用程序。我向mongodb添加了数据,但当我尝试查找方法时。它不起作用。无法捕获异常。因此,我的代码如下所示: var routes = function (app) { app.locals.error = null; app.get('/login', function (req, res) { return res.render(__dirname + "/views/login", { title: 'Gir

我正在用express和mongodb开发Nodejs应用程序。我向mongodb添加了数据,但当我尝试查找方法时。它不起作用。无法捕获异常。因此,我的代码如下所示:

var routes = function (app) {
app.locals.error = null;
app.get('/login', function (req, res) {
    return res.render(__dirname + "/views/login", {
        title: 'Giriş',
        stylesheet: 'login'
    });
});
var mongoose = require('mongoose');
mongoose.connect("mongodb://localhost/fuatblog");
var UserSchema = new mongoose.Schema({
    name: String,
    email: String,
    password: String,
    age: Number
}),

Users = mongoose.model('Users', UserSchema);

app.post('/sessions', function (req, res) {
    console.log(req.body.user.email);
    console.log(req.body.user.password);
    Users.find({
        email: req.body.user.email,
        password: req.body.user.password
    }, function (err, docs) {
        if (err) {
            console.log('User Not Found');
            res.status(400);

            return res.render(__dirname + "/views/login", {
                title: 'Giriş',
                stylesheet: 'login',
                error: 'Email or password is wrong.'
            });

        }

        console.log('User found');
        req.session.email = docs[0].email;
        console.log(req.session.email);
    });

    return res.redirect('/Management/Index');
});
};

module.exports = routes;
在我从login.jade向/sessions发布错误的电子邮件和错误的密码数据之后。 此代码应运行:

if (err) {
            console.log('User Not Found');
            res.status(400);

            return res.render(__dirname + "/views/login", {
                title: 'Giriş',
                stylesheet: 'login',
                error: 'Email or password is wrong.'
            });

但它总是通过这个if语句。所以在“如果”不运行的内部“err”变量始终为false。为什么?我的mongodb数据库中没有具有此电子邮件和密码的用户。需要建议。对不起,格拉默。抱歉语法错误

如果查询与数据库中的任何文档都不匹配,这不是错误;您必须检查
文档
,查看是否有匹配的文档:

if (! docs.length) {
  // no results...
}

err
参数仅在执行查询期间发生错误的情况下设置(您传递了无效查询,数据库处于脱机状态等)。

如果查询与数据库中的任何文档不匹配,则不是错误;您必须检查
文档
,查看是否有匹配的文档:

if (! docs.length) {
  // no results...
}

err
参数仅在执行查询期间发生错误的情况下设置(您传递了无效查询,数据库处于脱机状态等)。

如果查询与数据库中的任何文档不匹配,则不是错误;您必须检查
文档
,查看是否有匹配的文档:

if (! docs.length) {
  // no results...
}

err
参数仅在执行查询期间发生错误的情况下设置(您传递了无效查询,数据库处于脱机状态等)。

如果查询与数据库中的任何文档不匹配,则不是错误;您必须检查
文档
,查看是否有匹配的文档:

if (! docs.length) {
  // no results...
}

err
参数仅在执行查询期间发生错误的情况下设置(您传递了无效的查询,数据库处于脱机状态等)。

我认为,当您尝试在数据库中查找条目但未找到时,这不会产生错误,它只会返回一个空的结果集

因此,您可以检查返回结果的大小,而不是检查是否有错误

if(docs.length == 0){
  console.log('Not found')
}

我认为,当您试图在数据库中查找一个条目但未找到时,这不会产生错误,它只会返回一个空的结果集

因此,您可以检查返回结果的大小,而不是检查是否有错误

if(docs.length == 0){
  console.log('Not found')
}

我认为,当您试图在数据库中查找一个条目但未找到时,这不会产生错误,它只会返回一个空的结果集

因此,您可以检查返回结果的大小,而不是检查是否有错误

if(docs.length == 0){
  console.log('Not found')
}

我认为,当您试图在数据库中查找一个条目但未找到时,这不会产生错误,它只会返回一个空的结果集

因此,您可以检查返回结果的大小,而不是检查是否有错误

if(docs.length == 0){
  console.log('Not found')
}