我想知道是否有人可以告诉我如何从mongodb获取字符串值并将其存储在变量中。
db.model("users").findOne({username: username, password: password}, {type:1},
function(err, data) {
if(err) {
return "Error";
} else if() {
return "No records";
} else {
return data.type;
}
}
);
运行时我得到了类型值。
但是如何将它存储在此函数之外的变量中?
答案 0 :(得分:2)
完全忽略匿名函数的返回值。您可以将变量存储在可从当前范围访问的任何位置。 E.g。
var Database = function {
var myText = null;
return {
getUser: function(username, password, callback) {
db.model("users").findOne({username: username, password: password}, {type:1},
function(err, data) {
if (err) {
myText = "Error";
}
else if (data.length == 0) {
myText = "No records";
}
else {
myText = data.type
}
$('.log').html(myText);
callback(myText);
});
};
};
}();
从server.js,您可以调用:
Database.getUser(username, password, function(theText) { alert(theText); });
您需要聪明地了解不同元素的交互方式,因为带回调的Javascript不会同步运行。也就是说,应该可以实现您正在寻找的任何结果。享受和快乐的编码!