$objectToArray
konversi data
objek ke format nilai kunci array
$filter
untuk mengulangi loop dari array yang dikonversi di atas
- periksa
$and
kondisi
$toDate
untuk mendapatkan data
dari tanggal string
$month
untuk memilih bulan dari tanggal dan $year
untuk memilih tahun
$in
periksa kondisi jika bulan dalam array bulan dan tahun dalam array tahun
$arrayToObject
konversi kembali ke objek dari array nilai kunci
var years = [2021];
var months = [5];
db.collection.aggregate([
{
$project: {
data: {
$arrayToObject: {
$filter: {
input: { $objectToArray: "$data" },
cond: {
$and: [
{ $in: [{ $year: { $toDate: "$$this.k" } }, years] },
{ $in: [{ $month: { $toDate: "$$this.k" } }, months] }
]
}
}
}
}
}
}
])
Taman bermain