-
$objectToArray
data
を変換する オブジェクトから配列へのキー値形式
-
$filter
上記の変換された配列のループを繰り返す
-
$and
を確認してください 条件
-
$toDate
data
を取得するには 文字列の日付から
-
$month
日付と$year
から月を選択します 年を選択するには
-
$in
月が月の配列であり、年が年の配列である場合は、条件をチェックインします -
$arrayToObject
Key-Value配列からオブジェクトに変換し直します
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] }
]
}
}
}
}
}
}
])
遊び場