scanAndOrder: true ve výstupu Explain označuje, že dotaz musí načíst dokumenty a poté je seřadit v paměti, než se vrátí výstup. Toto je nákladná operace a bude mít dopad na výkon vašeho dotazu.
Existence scanAndOrder: true stejně jako rozdíl v nscanned n ve výstupu Explain označuje, že dotaz nepoužívá optimální index. V tomto případě se zdá, že je třeba provést skenování sbírky. Tento problém můžete vyřešit zahrnutím indexových klíčů do sort kritéria. Z mého testování:
db.posts.find({hashtags: /^noticias/ }).limit(15).sort({hashtags:1, rank : -1}).explain()
Nevyžaduje skenování a objednávání a vrací n a nscanned počtu záznamů, které hledáte. To by také znamenalo řazení podle hashtags klíč, který pro vás může nebo nemusí být užitečný, ale měl by zvýšit výkon dotazu.