sql >> Database >  >> NoSQL >> MongoDB

Een lijst opvragen in mongoengine; bevat vs in

De string-query's die normaal gesproken onder de covers liggen, zijn allemaal regex-query's, dus minder efficiënt. De uitzondering is echter bij het testen op referentievelden! De volgende vragen zijn:

Model.objects.filter(refs__contains="5305c92956c02c3f391fcaba")._query
{'refs': ObjectId('5305c92956c02c3f391fcaba')}

Dat is een directe zoekopdracht.

Model.objects.filter(refs__in=["5305c92956c02c3f391fcaba"])._query
{'refs': {'$in': [ObjectId('5305c92956c02c3f391fcaba')]}}

Dit is waarschijnlijk minder efficiënt, maar zou waarschijnlijk uiterst marginaal zijn. De grootste impact zou het aantal documenten zijn en of de refs veld heeft een index.




  1. Hoe maak je een gedeeltelijke index met variabele datum aan?

  2. Eenvoudigste manier om de Mongodb PHP-extensie te installeren in Ubuntu 13.10 (saucy)?

  3. Junit/Fongo:Fongo gebruiken in de eenheidstest voor het controleren van NotNull

  4. Node Js Hoe een bestand naar het geheugen te downloaden zonder het bestand naar het systeem te schrijven of zonder het bestand in een map te maken