MongoDB に次のようなドキュメントがあるとします。
{
"lastDate" : ISODate("2013-14-01T16:38:16.163Z"),
"items":[
{"date":ISODate("2013-10-01T16:38:16.163Z")},
{"date":ISODate("2013-11-01T16:38:16.163Z")},
{"date":ISODate("2013-12-01T16:38:16.163Z")},
{"date":ISODate("2013-13-01T16:38:16.163Z")},
{"date":ISODate("2013-14-01T16:38:16.163Z")}
]
}
または、次のようにします。
{
"allAre" : false,
"items":[
{"is":true},
{"is":true},
{"is":true},
{"is":false},
{"is":true}
]
}
最上位フィールドは、配列内のデータが変更されるたびに再計算する必要があります"lastDate"
。すべての中で最大のはずです。すべての項目が true である場合にのみ、true に等しい必要があります。 "allAre"
"lastDate"
"date"
"allAre"
"is"
MongoDB でこのような動作を実現するには、クエリをどのように作成すればよいですか?
get リクエスト中に値を計算するのではなく、挿入時にいくつかの値を事前に計算することをお勧めしますか?