1 پاسخ

کوئری زدن برای آرایه در مونگوز mongoose

سلام منه داخل دیتبایس mongodB ام این Doc وجود داره و میخوام با کوئری که در بعد این doc مینویسم این رو از دیتا بیس بکشم بیرون، این فقط یک مثال هستش و صرفا این doc نمیخوام باشه امکان داره هزاران doc مشابه این باشه

{
"_id" : ObjectId("60f71a0ea8c0da11907b4c33"),
"active" : false,
"rules" : {

    "ShutDown" : {
        "active" : true,
        "timefinish" : [ 
            "16", 
            "26"
        ],
        "timestart" : [ 
            "18", 
            "50"
        ],

    }
},
"tID" : "-1001380875779",
"__v" : 0}

چیزی که مهمه برام این که این شرط اگر بر قرار بود اون doc برام برگرده شرط رو به صورت js مینویسم تا متوجه منطق بشید ولی باید به کوئری تبدیل بشه

(rules.ShutDown.timestart[0]== hour && rules.ShutDown.timestart.[1]== min&&rules.ShutDown.active)

اینم هم از قطعه کدی نوشتم ولی کار نمیکنه


    let date = new Date(Date.now())
    const min = date.getMinutes()
    const hour = date.getHours()
    let res = await DB_Groups.find({ 'rules.ShutDown.active': true,'rules.ShutDown.timestart.0':hour,'rules.ShutDown.timestart.1':min})

ممنون میشم کمکم کنی


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

با سلام.
بنده این روش رو پیشنهاد نمیکنم.
بهتر بود شما به جای یک ارایه type رو ابجکت در نظر میگرفتید که هم راحت تر کوئری بزنید هم کمی پرفورمنس بهتری بگیرید.


     ShutDown: {
          active: true,
          timefinish: {
               hour: '16',
               min: '26',
          },
          timestart: {
               hour: '18',
               min: '50',
          },
     }

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

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