sql >> Database >  >> NoSQL >> MongoDB

MongoDB 2.6 Index instellen, zoeken met $or, $in, met limiet en sorteren

Ik weet niet zeker of dit een bug is in MongoDB 2.6, maar je kunt een kijkje nemen op dit artikel over het maken van indexen.

Dus als je dat advies volgt, kun je het proberen met deze indexen:

$col->ensureIndex(array('owner' => 1, 'ca' => -1));
$col->ensureIndex(array('ca' => -1, 'owner' => 1, 'perm.type' => 1));
$col->ensureIndex(array('perm.list' => 1, 'ca' => -1, 'owner' => 1));

Bewerken:

Zoals je uitlegt, als je op kleine datasets test, is de volledige verzameling snel omdat MongoDB niet veel documenten hoeft te doorlopen. Probeer een test uit te voeren met bijvoorbeeld 10000 documenten om echt verschil te zien. Waarden voor uw velden in indexen moeten voldoende verschillend zijn om indexselectiviteit voor uw zoekopdrachten te garanderen (bijv. niet alle documenten zijn van dezelfde eigenaar).



  1. Vermijd de totale limiet van 16 MB

  2. Selecteer records die overeenkomen met de concat-waarde van twee velden in mongodb

  3. MongoDB-replicaset:verschil in schijfgrootte in primaire en secundaire knooppunten

  4. Wat is de beste manier om de meest voorkomende waarde in MongoDB te vinden?