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个不同请求的项目。