$objectToArray
convertir data
objet au format clé-valeur du tableau
$filter
pour itérer la boucle du tableau converti ci-dessus
- vérifier
$and
conditions
$toDate
pour obtenir des data
à partir de la date de la chaîne
$month
pour sélectionner le mois à partir de la date et $year
pour sélectionner l'année
$in
vérifier l'état si le mois est dans un tableau de mois et l'année dans un tableau d'années
$arrayToObject
reconvertir en objet à partir du tableau clé-valeur
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] }
]
}
}
}
}
}
}
])
Aire de jeux