Javascript 在Mongoose中链接多个find语句

Javascript 在Mongoose中链接多个find语句,javascript,mongodb,mongoose,Javascript,Mongodb,Mongoose,我最近开始使用MongoDB和MongooseODM进行开发。我无法链接多个find语句(查找完成后查找) 模式: { UserId: LoginDays=[{ date: action: }] } 我想检查userId是否存在,如果它不创建新用户,如果它存在,则在LoginDays数组中查找特定日期,如果找到条目,则拒绝更新,否则追加到此LoginDays数组 到目前为止我已经试过了 let userExists = false; let dayExists =

我最近开始使用MongoDB和MongooseODM进行开发。我无法链接多个find语句(查找完成后查找)

模式:

{
   UserId:
   LoginDays=[{
   date:
   action:
   }]
}
我想检查userId是否存在,如果它不创建新用户,如果它存在,则在LoginDays数组中查找特定日期,如果找到条目,则拒绝更新,否则追加到此LoginDays数组

到目前为止我已经试过了

let userExists = false;
let dayExists = false;
User.find({ UserId: id })
  .then((a) => {
    if (a) {
      userExists = true;
      return a;
    }
  })
  .then((b) => {
    return b.find({ "LoginDays.date": date });
  });


我总是得到b。find不是一个函数,有人能帮我吗?

如果未找到
a
,您不会返回任何内容,因此
b
将在下一步中
未定义
undefined.find()
不是函数,因为
undefined
没有函数。我不能评论猫鼬部分,因为我从未使用过它,但这可能是一个可能的错误B实际上是一个未定义的对象。我尝试了一个测试用例,其中userId存在并确保这一点(记录它)。也许你的成绩不如预期