Mongodb 索引mogo中的两个字段:时间戳和文本

Mongodb 索引mogo中的两个字段:时间戳和文本,mongodb,indexing,Mongodb,Indexing,我确实发现很多关于收集的请求如下: {'$and': [{'time': {'$lt': 1375214400}}, {'time': {'$gte': 1375128000}}, {'$or': [{'uuid': 'test'},{'uuid': 'test2'}]} ]} 我必须创建哪一个索引:复合索引、两个索引、单个索引或两个索引 uuid—数据采集器的名称。 时间戳 我想检索由一个或几个采集器在指定时间间隔内收集的数据。如果不

我确实发现很多关于收集的请求如下:

{'$and': [{'time': {'$lt': 1375214400}},
          {'time': {'$gte': 1375128000}},
          {'$or': [{'uuid': 'test'},{'uuid': 'test2'}]}
         ]}
我必须创建哪一个索引:复合索引、两个索引、单个索引或两个索引

uuid—数据采集器的名称。 时间戳


我想检索由一个或几个采集器在指定时间间隔内收集的数据。

如果不使用
$和
,而是在
$中使用
$而不是
$或
,则编写查询会更好:

{
'time':{'lt':1375214400,$gte':1375128000},
'uuid':{'$in':['test','test2']}
}

很明显,为了获得最佳查询性能,您需要一个包含
time
uuid
的复合索引。但重要的是要始终确认您的索引正在按预期使用。

使用带有单个术语的
$或
运算符是没有意义的。你想在这里查询什么?@johnyhk,它可能包含1个或2-10个不同请求的项目。