$objectToArray
converti data
oggetto in formato chiave-valore array
$filter
per iterare il ciclo dell'array convertito sopra
- controlla
$and
condizioni
$toDate
per ottenere data
dalla stringa data
$month
per selezionare il mese dalla data e $year
per selezionare l'anno
$in
controlla in condizione se il mese è in una serie di mesi e l'anno è in una serie di anni
$arrayToObject
riconvertire in oggetto dall'array chiave-valore
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] }
]
}
}
}
}
}
}
])
Parco giochi