Tack för shoutouten på Dex!
Om det inte är för sent här under 2013 är indexet jag rekommenderar för att undvika scanAndOrder här { _id:-1, cl:1, user_id:1 }.
Anledningen är att en $lt på _id och en $in på user_id utgör intervall över flera index "buckets". Ett index av någon annan ordning än ovan betyder att dessa hinkar fortfarande måste sorteras tillsammans för att uppfylla en sortering på _id. Genom att sätta _id först kommer alla dokument som besöks i indexet att vara korrekt beställda i förväg.
Observera att detta är en liten förbättring jämfört med Andres förslag ({ _id:-1, user_id:1, cl:1 }, vilket också bör undvika scanAndOrder) eftersom det tillåter den raka likvärdighetskontrollen på cl för att beskära resultaten.
Kolla in http://blog.mongolab.com/2012/06/cardinal- ins/ för mer information.