hossein
2 سال پیش توسط hossein مطرح شد
2 پاسخ

چگونه کوئری با چند فیلتر در mongoose انجام بدیم

من میخوام یک کوئری با دو تا فیلتر رو انجام بدم ، مشکل در فیلتر دومی که یک آبجکت هست رخ میده و آرایه خالی برمی گردونه
با این توضیح که با فیلتر اول به تنهایی دیتا میاد.

async reservedOnDay(original: number) {  
    const food = await this.foodModel.find({
      state: SuperFood.Confirm,
      reversed: { original }  // not found
    })
    return food;
  }

ثبت پرسش جدید
متین طیبی نیا
تخصص : nodejs
@MatinTayebi 2 سال پیش آپدیت شد
0

سلام شما از دستور زیر استفاده کنید تا 2 فیلتر اجرا بشن


 let food = await foodModel.find({
            $and: [{state:SuperFood.Confirm},
                {reversed: { original }}]
        })

محمد حیدری
تخصص : برنامه نویس فول استک جاوااسکری...
@pezhmanheidaryrostamy1373 2 سال پیش مطرح شد
0

سلام.
این نوع فیلتر آبجکت ها روش جالبی نیست .
دقیقا باید مشخص باشه کدوم فیلد از ابجکت برابر چه مقداری باشه.مثال

async reservedOnDay(original: number) {  
    const food = await this.foodModel.find({
      state: SuperFood.Confirm,
    "reserved.key": original.value
    })
    return food;
  }

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام