navid
4 سال پیش توسط navid مطرح شد
0 پاسخ

جستجو کردن با عبارات با قاعده

سلام دوستان من یه نوار سرچ دارم تو سایتم که میخوام برام کار جستجو کردن تو فیلد های خاصی رو که با or$
مشخص کردم رو انجام بده

موضوع اینه که میخوام نوع ریکوئست به سرورم به صورت GET و از طریق Query باشه اما زمانی که کوئری دومم رو وارد میکنم برام هیچ دیتایی رو بر نمیگردونه!

این کدی هست که نوشتم:

module.exports.searchMedicalNameCitySpecialty = async (req , res) => {
    const errors = validationResult(req);
  if (!errors.isEmpty()) {
    return res.status(422).json({ errors: errors.array() });
  }
  let page = req.query.page || 1
        let query = {}
        // if(req.query.search)
        //     query.FirstName = new RegExp(req.query.search , 'gi')

        let result = await Medical.paginate({ ...query  , $or : [{ FirstName : new RegExp(req.query.search , 'g' ) } , { LastName : new RegExp(req.query.search , 'g') } , { Specialty : new RegExp(req.query.search , 'g') } , { WorkField : new RegExp(req.query.search , 'g') } , { City : new RegExp(req.query.search , 'g') }  ] } , { page , limit : 12 , sort:{ createdAt : -1 } , populate : 'OfficeAddress' }, (err , finded) => {
        if(err) res.status(500).json({ Error : err , Success : false }) 
        if(finded) {
        res.status(200).json({ data : finded , Success : true })
            }
        });

};

کوئری هام رو به این شکل که میفرستم هیچی بر نمیگردونه!

/api/v1/search/medical/city/name/specialty?search=سید نوید&search=جراح&search=رضادوست

فقط اینجوری برام پیدا میکنه

/api/v1/search/medical/city/name/specialty?search=سید نوید

میخوام چند تا کوئری بفرستم که فردی که بر میگرده باید اطلاعاتی که تو کوئری هست رو دارا باشه حتما که برگرده باید از عبارت با قاعده خاصی استفاده کنم روش یا متود خاصی داره؟


ثبت پرسش جدید

به همدیگه کمک کنیم

به navid کمک کنید تا مشکل خودش را حل کند؛ این‌طور می‌توانیم با هم پیشرفت کنیم.

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

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