Node.js Mongodb查找方法不适用于我
我正在用express和mongodb开发Nodejs应用程序。我向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
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')
}