我收集了超过1.35亿份文档。搜索非常缓慢,因此我正在尝试创建正确的索引。
假设文档中有字段:
id
,from
,to
,blockNumber
,amount
。
我需要通过字段from
,to
进行查询,所有结果均按blockNumber
降序排列。
ModelName.find({
$or: [
{ 'from': accountName },
{ 'to': accountName }
]},
null,
{
skip: skip,
limit: limit,
sort: { blockNumber: -1 }
})
我创建了3个不同的索引。
如果我不进行排序就执行查询,那么它会很快执行,但是如果添加排序,则查询将运行2分钟以上。
如何正确创建索引,以便查询与排序一起快速运行?
也许我需要一次创建一个包含三个字段(from
,to
和blockNumber
)的索引?