Mongodb Mongo查询对象中的键
我的文档结构:Mongodb Mongo查询对象中的键,mongodb,Mongodb,我的文档结构: { _id:objectID, month:'2014-01' daily:{ '01':{}, '02':{}, '03':{} . . . '31':{} } } 现在,我想查询daily中的对象,它的范围是08到13(比如说),这意味着只
{ _id:objectID,
month:'2014-01'
daily:{
'01':{},
'02':{},
'03':{}
.
.
.
'31':{}
}
}
现在,我想查询daily中的对象,它的范围是08到13(比如说),这意味着只有大于08小于13的对象。每日对象中的这些键(01、02、…31)是动态生成的。我不想检索整个daily对象,然后在后端处理。请提供帮助。您无法查询嵌入式阵列的切片。由于
daily
数组嵌入到月文档中,因此不能将其单个条目视为单个对象
如果您的查询寻找单独的日期,则应考虑通过适当地对数据进行建模,每天创建一个文档。e、 g:
{
_id: { month: '2014-01', day: 1 },
/* rest of daily data here */
}
这将允许您查询有或没有特定月份的特定日期。告诉我们您尝试了什么?这是一个糟糕的数据库设计。你不应该把日期作为键——它们应该是值。键可以是任何东西。Mongodb具有无模式设计。这应该没问题。var query={month:'2014-01'};var投影={daily:1};Cliend.db.collection('monthlydata').find(query,projection).toArray()……然后我迭代了daily对象以找到合适的键。sashkello你能解释一下为什么它是一个糟糕的设计吗。