gpt4 book ai didi

node.js - 连接到node.js中的mongodb时无法读取未定义的属性 'collection'?

转载 作者:太空宇宙 更新时间:2023-11-04 02:21:11 25 4
gpt4 key购买 nike

我正在尝试从我的signin.ejs文件登录,点击登录按钮后 我的登录页面显示“无法读取未定义的属性集合”,这是什么 问题。

我在 app.js 中定义了我的路线:

app.post('/login', routes.dologin);

我在index.js中定义了我的dologin路由:

exports.dologin = function (req, res) {
res.locals.session = req.session;

var user = req.body.user;
db.authenticateUser(user.email, user.password, function ( err, response) {
if (err) {
.......

.......
} else {
.......

........
}
});
};

在我的 db.js 中:

var mongo = require('mongoskin'),
crypto = require('crypto');

module.exports = function (config) {

var USERS_COLLECTION = 'users',
ORDERS_COLLECTION = 'orders',
salt = 'supersecretkey',
db;

authenticateUser: function (emailId, password, callback) {
db.collection(USERS_COLLECTION).count({email : emailId, password: encryptPassword(password)}, function (err, count) {
if (err) {
console.log("error authenticating user: " + err);
callback(new Error(err));
} else if (count === 0) {
callback(new Error("emailid/password did not match"));
} else {
callback(null);
}
});
},
}

出现“Collection undefined”的问题是什么?我想在这里 一切都正确......这里有什么问题吗?告诉我......请谢谢。

最佳答案

您应该添加此代码db = mongo.db('localhost:27017/yourdb');

var mongo = require('mongoskin'),
crypto = require('crypto');

module.exports = function (config) {

var USERS_COLLECTION = 'users',
ORDERS_COLLECTION = 'orders',
salt = 'supersecretkey',
db = mongo.db('localhost:27017/yourdb');

authenticateUser: function (emailId, password, callback) {

db.collection(USERS_COLLECTION).count({
email: emailId,
password: encryptPassword(password)
}, function (err, count) {
if (err) {
console.log("error authenticating user: " + err);
callback(new Error(err));
} else if (count === 0) {
callback(new Error("emailid/password did not match"));
} else {
callback(null);
}
});
},
}

关于node.js - 连接到node.js中的mongodb时无法读取未定义的属性 'collection'?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33339185/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com