راکت

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

1 پاسخ

سلام منه داخل دیتبایس 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})

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

ثبت پرسش جدید

پاسخ‌ها

1
محمد حیدری
محمد حیدری
@pezhmanheidaryrostamy1373

تخصص: برنامه نویس فول استک جاوااسکریپت

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


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

شاید پاسخ شما همین‌جا باشد

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

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