にネストされた日付範囲を照会するためにどのように、ここに私のデータがあります:[OK]をMongoid
"stats" : [
{
"campaign_id" : "some_id",
"log_id" : "some_id",
"agent" : "some_id",
"office" : "some_id",
"hq" : "some_name",
"seller" : "some_name",
"status" : "live",
"phases" : [
{
"phase" : "main_phase",
"banners" : [
{
"banner_id" : "some_id_same_as_below",
"split_var" : "light",
"reports" : [
{
"date" : "2016-11-25",
"banner" : "some_id_same_as_above",
"cost" : "0.231",
"impressions" : 14,
"clicks" : 0
},
...
そして、私はすべてのレポートのためにデータベースを照会する必要があります。"date" : "2016-11-25"
については
"reports" : [
{
"date" : "2016-11-25",
"banner" : "some_id_same_as_above",
"cost" : "0.231",
"impressions" : 14,
"clicks" : 0
},
日内範囲。日付範囲については、私はこれを持っています:
start_month = DateTime.current.beginning_of_month - 1.month
end_month = DateTime.current.end_of_month - 1.month
これは私に前月の開始と終了を与えます。この範囲内のレポート(統計、フェーズ内のネストされた値など)を持つすべてのドキュメントを検索するにはどうすればよいですか?
アイデア?
EDIT
データをDBに挿入されている方法を変更することが提案されてきたが、残念ながら私は(サードパーティのサービス/ APIによって行われる)データが挿入されているどのように制御することはできません。