使用NodeJS和Mongoose我正在尝试创建一个数据库文件,允许我查询数据库并返回结果,以便能够使用而不使用Mongoose。
在我的数据库文件中,我有这个
db.js
module.exports = {
getUser: function (name) {
var u = User.findOne({username: name}).exec().then(function(user) {
console.log(user);
return user;
});
return u;
}
};
并在我的另一个文件中调用它
var db = require('./db')
var user_info = db.getUser("tom");
console.log(user_info);
当调用getUser函数时,它会使用以下代码行正确打印我在db.js文件中查找的信息。
console.log(user);
但是我似乎无法找到一种方法让数据库将值返回到user_info,我只是得到
Promise { <pending> }
我已经研究过.then和回调但似乎无法弄清楚如何让它发挥作用我总是在无休止的Promise循环中结束。
由于
答案 0 :(得分:1)
var db = require('./db')
var user_info = db.getUser("tom");
console.log(user_info);
user_info.then(user => {
const username = user.username;
console.log(username);
});
承诺执行。但是,您可以在.then
之后访问结果。
答案 1 :(得分:0)
您必须在承诺上致电.then
以获取结果:
点击这里 Promise pending
答案 2 :(得分:0)
您需要为getUser调用$('#filterPageSearchModel_CarMakeFilter').on('change', function () {
if ($('#check_id').val()) { // if checkbox is checked, run the bottom code
var make = $(this).val();
...
}
});
。
.then