Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/csharp-4.0/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/database/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mongodb Mongo查询对象中的键_Mongodb - Fatal编程技术网

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你能解释一下为什么它是一个糟糕的设计吗。