猫鼬查询不会进入回调函数

时间:2020-10-03 00:21:03

标签: javascript node.js database mongodb mongoose

我尽力简化了这个问题。

            Transaction.find({budget: foundBudget._id}, function(err, foundTrans) {
              if (err) console.log(err);
              else {

                uniqueUsers = foundTrans
                .map(user => user.who)
                .filter((value, index, self) => self.indexOf(value) === index)
                
                console.log(uniqueUsers);


                uniqueUsers.forEach(function(user, i) {

                  console.log("foundBudget._id " + foundBudget.id);
                  console.log("user " + user);

                  Transaction.find({budget: foundBudget._id, who: user}, 'amount')
                  .exec(function(err, amountsInTrans) {
                    if (err) console.log(err);
                    else  console.log("Here");
                });

                });

                console.log("Here2");

                
              }
            }); 

它不会进入第二个Transaction.find()查询的回调函数。

console.log(uniqueUsers);记录[ 'Aras' ],仅仅是因为这是唯一的用户。

console.log("foundBudget._id " + foundBudget.id);console.log("user " + user);日志

foundBudget._id 5f77b8971fd44e456c8145d7
user Aras

和相关的架构是这样的,

const transactionSchema = new mongoose.Schema({
  who: String,
  amount: Number,
  info: String,
  budget: String
})

因此,查询应该可以工作,并且应该进入回调函数,但是我没有从console.log("Here");获取日志,我只是得到了Here2。 有什么想法吗?

0 个答案:

没有答案