我试图获取存储在mongodb集合中的文档中的字段的值。我的代码不起作用,我也不知道为什么。我知道find()返回一个游标对象,我想使用cursor.next()遍历这个对象。根据我的调试,代码中的点似乎是失败的地方。我正在为node.js使用mongodb模块来执行这些操作。以下是代码:
设置DB/集合信息:
exports.login = function(request, response){
var Db = require('mongodb').Db,
Server = require('mongodb').Server,
assert = require('assert'),
server_config = new Server('localhost', 27017, {auto_reconnect: true, native_parser: true}),
udb = new Db('users', server_config, {
w: -1
}),
uname = request.body.uName,
pw = request.body.uPass;打开数据库并查询:
udb.open(function(err, udb) {
assert.equal(null, err);
var collection = udb.collection('profiles');
collection.find({username: uname, password: pw}, function(err, collection){
if( err || !collection){
console.log("login fail");
response.redirect('/');
}
else {
collection.each(function(err, result){
assert.equal(null, err);
console.log("login success");
request.session.loggedIn = true;
request.session.user = uname;
response.redirect('/userDashboard');
});
}
});
udb.close();
});
}我似乎没有收到任何错误,这页只是‘挂’无限期。
发布于 2013-10-11 16:11:30
我觉得什么都没找到。测试mongo中的查询,看看您是否得到了任何信息。还要确保不要将密码存储在纯文本中!查看节点bcrypt包。
https://stackoverflow.com/questions/19322232
复制相似问题