ラウンド正しいデータを最初に戻りません。MongoDBはこれが私のコードです
// Modules
var mongodb = require('mongodb');
var MongoClient = mongodb.MongoClient;
var url = 'mongodb://localhost:27017/affinity';
window.$ = window.jQuery = require('jquery');
var user_data;
$(document).ready(function() {
// Look through db for user
// Flters through the db to find the user and their password to authenticate them in.
userInfo = function (db, callback) {
var username = $('#username').val();
var password = $('#password').val();
var users = db.collection('users');
// Searches through each user in the db to find one which meets conitions.
var cursor = users.find({
"username": username
}, {"limit": 1}).each(function (err, doc) {
if (doc != null) {
if (doc.password === password) {
user_data = doc;
//window.location.replace(__dirname + '/assets/views/main.html');
} else {
$("#error-hint").css(
'visibility', 'visible'
);
}
} else {
// Skip user if it isn't matching
}
});
console.log(user_data);
}
// Connects to database.
// Inserts all user data to the database.
MongoClient.connect(url, function (err, db) {
if (err) {
console.log('Couldn\'t connect to the mongoDB server. \nERROR: ' + err);
} else {
var collection = db.collection('users');
// When login button run authUser function
$('#auth-btn').click(function() {
userInfo(db, function() {
db.close();
});
});
}
});
});
問題は、私は正しい情報でユーザーをのauthするボタンをクリックすると、それは未定義 'の値を返すということですボタンを2回押すと何も変更せずに、データベースから正しいデータを返します。私はそれがユーザーを正しく認証するために初めての回覧を表示したい。何が間違っているの?助けてください。
私の回答は役に立ちましたか?もしそうでなければ、それを受け入れてください。 – Pio