2014-01-29 71 views
0

我的文档结构:蒙戈查询

{ _id:objectID, 
    month:'2014-01' 
    daily:{ 
      '01':{}, 
      '02':{}, 
      '03':{} 
      . 
      . 
      . 
      '31':{} 


      } 
    } 

现在,我想每天查询中的对象,这是在一个范围内08至13(对说),是指对象只较大的08和小于13.日常对象中的这些键(01,02,... 31)是动态生成的。我不想检索整个日常对象,然后在后端进行处理。请帮忙。

+0

告诉我们你试过了什么? –

+0

这是一个糟糕的数据库设计。你不应该有日期作为关键 - 他们应该是价值观。 – sashkello

+0

键可以是任何东西。而Mongodb具有无模式设计。这应该没问题。 – Danish

回答

1

您无法从嵌入式数组中查询切片。由于daily数组嵌入月份文档中,因此不能将其各个条目视为单个对象。

如果您的查询查找单个日期,则应考虑通过为每一天创建单个文档来适当地建模数据。例如:

{ 
    _id: { month: '2014-01', day: 1 }, 
    /* rest of daily data here */ 
} 

这将允许您查询特定月份的特定日期。