Возвращаемое значение из вашей анонимной функции полностью игнорируется. Вы можете хранить переменную в любом месте, доступном из вашей текущей области. Э.Г.
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 с обратными вызовами не работает синхронно. Тем не менее, должно быть возможно достичь любого результата, который вы ищете. Наслаждайтесь и счастливого кодирования!