【发布时间】:2016-12-01 13:13:36
【问题描述】:
好的,这是我的数据:
"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
},
...
我需要查询数据库中的所有报告:
"reports" : [
{
"date" : "2016-11-25",
"banner" : "some_id_same_as_above",
"cost" : "0.231",
"impressions" : 14,
"clicks" : 0
},
对于某个日期范围内的"date" : "2016-11-25"。对于日期范围,我有这个:
start_month = DateTime.current.beginning_of_month - 1.month
end_month = DateTime.current.end_of_month - 1.month
这给了我上个月的开始和结束,这是正确的。如何搜索所有包含此范围内的报告(统计信息、阶段等中的嵌套值)的文档?
有什么想法吗?
编辑
有人建议更改数据插入数据库的方式,但不幸的是我无法控制数据的插入方式(由第三方服务/API 完成)。
【问题讨论】:
标签: mongodb mongodb-query mongoid