3
私は現在の時刻よりも小さい$$item.date
のドキュメントを取得するだけの日付比較の以下の集計を持っています。私は上記についての質問があり
[
{ $match : { "_id" : "57b4c5f0291ebb13110b888e" } },
{ $project : {
"fulfillments" : {
$filter : {
"input" : "$fulfillments",
"as" : "item",
"cond" : { "$gte" : ["$$item.date","new Date()"]}
}
}
}
},
...
...
]
重要な部分は、以下の通りである。
"cond" : { "$gte" : ["$$item.date","new Date()"]}
これは私が変更できるよう動作していないようですnew Date()
から1
または0
またはかなり多くの価値があり、それでもすべての文書が返されます。現在の日付以上のdate
のドキュメントのみを返す必要があります。例えば
、それは2017-11-23
{
"_id": "582deb33bdf17300010a2ae5",
"date": new Date("2017-11-23T17:00:00-0700"),
}
であるため、次の文書
{
"_id": "57b4c5f0291ebb13110b888e",
"fulfillments": [
{
"_id": "582deb33bb117300010a2ae5",
"date": new Date("2016-11-23T17:00:00-0700"),
},
{
"_id": "582deb33bdf17300010a2ae5",
"date": new Date("2017-11-23T17:00:00-0700"),
}
}
のみ以下fulfillment
が返されるべきである与えられた更新 私は正確な文書を与えている場合は質問がありますstrucutreので、私はこれを検証するためのスクリーンショットを含めた。
については以下を参照、クエリから
"
を削除。 – Veeram@Veeram私は引用符なしで試してみると、少なくともIDEとゴランでは、その必要があります。 – TheJediCowboy
'new Date()'の引用符を削除してください: '{" $ gte ":[" $ item.date "、new Date()]}' – styvane