【发布时间】:2019-09-29 09:35:09
【问题描述】:
我正在尝试查询从 mongoose 回调函数返回的值,但我得到的只是TypeError: #<Object> is not a function。我知道这样做可能并不容易,但是通过查询数据库的方式,我需要从返回的结果中更深入地研究,而不必再次调用 User 模型。我不知道有没有办法解决这个问题。
User.findOne({_id: req.user.id}, function(err,user){
if(err){
console.log(err);
} else {
if(user.plan == 'hit'){
User.find({plan: 'hit', verified: 'yes'}).lean().exec(function(error,*suc*){
if(suc.length < 1){
console.log(error);
console.log('no user')
} else {
console.log(suc)
**Error throws up right below here**
*suc*.find({admintit: 'admin', adminLimit: 200, admincycle: 0}, function(errok,hungad){
if(errok){
console.log(err)
} else {
if(hungad.length < 1){
console.log('no hung admin');
} else {
console.log(hungad)
}
}
})
}
})
}
}
})
真的想查询 suc 回调结果,但我得到的只是一个错误,我尝试将其转换为对象Object.assign({}, suc) 但它仍然返回相同的错误,它不是一个函数.
【问题讨论】:
-
这些星号
*suc*.find是故意的,还是为了强调(不在您的实际代码中)? -
@JackBashford 他们是为了强调,以便引起人们对正在谈论的回调的注意。
-
错误在哪一行?请您指出来并发表评论好吗?
-
@JackBashford 抛出错误,就在 suc.find() 函数上,其他一切都正常工作。通常 suc 在对象数组中。
标签: javascript node.js object mongoose