Bagaimana cara mengeluarkan data yang tidak sesuai dengan filter di mongoDB query

Saya merupakan entry level di bidang programming, dan saya punya malasah yang saya tidak bisa pecahkan, saya punya data seperti ini:

data: [
{
"_id": "645c3cc4c530d86431a6eb31",
 "id": 1897,
 "name": "Test",
"traffic: 
{
    "_id": "65b0e7a86a019968799e2e15",
     "higo_router_id": 1897,
     "weekday": "Tuesday",
     "date": "2023-12-31",
}
   "login_page_view": [
                {
                    "_id": "65b1cdfc7b0636032d99a23b",
                    "date": "2024-01-02"
                },
                {
                    "_id": "65b1cffe7b0636032d99a23c",
                    "date": "2024-01-03"
                },

                    "_id": "65b1d3e47b0636032d99a247",
                    "date": "2024-01-02"
                },
                {
                    "_id": "65b1d3ed7b0636032d99a248",
                    "date": "2024-01-03"
                },

            ],
},

]

itu hasil aggregation yang saya lakukan, tapi saya ingin mendapakan hasil seperti ini.

data: [
{
"_id": "645c3cc4c530d86431a6eb31",
 "id": 1897,
 "name": "Test",
"traffic: {
  "higo_router_id": null,
     "weekday": null,
},

   "login_page_view": [
                {
                    "_id": "65b1cdfc7b0636032d99a23b",
                    "date": "2024-01-02"
                },
                {

                    "_id": "65b1d3e47b0636032d99a247",
                    "date": "2024-01-02"
                },

            ],
},

{
"_id": "645c3cc4c530d86431a6eb31",
 "id": 1897,
 "name": "Test",
"traffic: 
{
    "_id": "65b0e7a86a019968799e2e15",
     "higo_router_id": 1897,
     "weekday": "Tuesday",
     "date": "2023-01-03",
}, 
 "login_page_view": [
 
                {
                    "_id": "65b1cffe7b0636032d99a23c",
                    "date": "2024-01-03"
                },
                {
                    "_id": "65b1d3ed7b0636032d99a248",
                    "date": "2024-01-03"
                },

            ],
},

]

tapi dengan query yang saya buat, yang tanggal "2024-01-02" tidak mau keluar karena saya menggunakan $match dengan traffic.date. apakah ada cara lain untuk mendapatkan hasil yang saya ingin? mohon maaf kepada senior semua yang ada disini, karena pertanyaan saya sangat panjang. saya masih baru entry level jadi saya masih belum banyak tau dan masih belajar, dan saya sudah berusaha mencari cara dan sudah menggunakan semua cara yang saya punya untuk memecahkan masalah ini. saya mohon bantuannya

Ini merupakan query saya:

   {
          $lookup: {
            from: "loginpageview",
            let: {
              routerId: "$id",
              trafficDate: "traffic.date",
            },
            pipeline: [
              {
                $match: {
                  $expr: {
                    $eq: ["$id", "$$routerId"],
                  },
                  date: {
                    $gte: from_date,
                    $lte: until_date,
                  },
                },
              },
              {
                $project: {
                  id: 1,
                  date: 1,
                },
              },
            ],
            as: "login_page_view",
          },
        }
avatar yondaekodirman
@yondaekodirman

1 Kontribusi 0 Poin

Dipost 10 bulan yang lalu

Belum ada Jawaban. Jadi yang pertama Jawaban

Login untuk ikut Jawaban