我希望能在模型
以下是我的实现:
UserModel
上定义一个方法,这个方法可以获取所有userId小于10的用户的姓名。以下是我的实现:
// pseudo code
UserModel === {
userId : Number,
userName: String
}
UserSchema.statics.getUsersWithIdLessThan10 = function(){
var usersLessThan10 = []
this.find({userId : {$lt : 10}}, function(error, users){
users.forEach(function(user){
console.log(user.userName) // ... works fine
usersLessThan10.push(user.userName)
})
})
return usersLessThan10
}
我理解为什么这个异步查找API似乎不起作用。但如果是这种情况,那么有什么方法可以解决呢?这个异步的东西有点让人感到压抑。
var users = getUsersWithIdLessThan10(..., ...)
- p0lArisfind
方法是异步的,所以你想要的是不可能的。你可以对users
做任何你想做的事情(不仅仅是console.log
),但只能在异步回调中执行。你可以发布你代码的其余部分,并寻求帮助来整合getUsersWithIdLessThan10
,但实际上你不能做太多关于异步方法的事情... - Alex Netkachov