将变量设置为猫鼬查找的结果 [英] Set Variable to result of Mongoose Find
本文介绍了将变量设置为猫鼬查找的结果的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我正在尝试做这样的事情
I'm trying to do something like this
function retrieveUser(uname) {
var user = User.find({uname: uname}, function(err, users) {
if(err)
console.log(err);
return null;
else
return users[0];
return user;
但是这将返回一个文档而不是用户对象.参数users是与查询匹配的用户对象的数组,那么如何将其中一个对象存储到函数可以返回的变量中?
But this returns a document instead of a user object. The parameter users is an array of user objects matching the query, so how would I store one of the objects into a variable that my function could return?
推荐答案
函数User.find()
是异步函数,因此您不能使用返回值来获取结果值.而是使用回调:
The function User.find()
is an asynchronous function, so you can't use a return value to get a resultant value. Instead, use a callback:
function retrieveUser(uname, callback) {
User.find({uname: uname}, function(err, users) {
if (err) {
callback(err, null);
} else {
callback(null, users[0]);
}
});
};
该函数将按以下方式使用:
The function would then be used like this:
retrieveUser(uname, function(err, user) {
if (err) {
console.log(err);
}
// do something with user
});
这篇关于将变量设置为猫鼬查找的结果的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文