Différence entre le curseur.count () et curseur.taille () en MongoDB
Quelle est la différence entre cursor.count()
et cursor.size()
méthodes de MongoDB DBCursor
?
2 réponses
Javadoc de la MongoDB Pilote Java, il dit :
DBCursor.count (): Compte le nombre d'objets correspondant à la requête. Ce fait limite/saut en considération.
DBCursor.taille(): Compte le nombre d'objets correspondant à la requête. Ce ne prenez limite/saut en considération.
plus qu'une réponse j'aimerais souligner un problème que notre équipe a rencontré en "mélangeant" les deux.
Nous avons eu quelque chose comme ceci:
DBCursor cursor = collection.find(query).limit(batchSize);
logger.info("{} items found.", cursor.count());
while (cursor.hasNext()) {
...
}
il s'est avéré qu'après avoir appelé le cursor.count()
méthode, la limite était de ignoré (plase de prendre un coup d'oeil à autre question) , nous avons souhaité savoir combien d'articles ont été retournés par la requête, nous avons appelé le cursor.size()
méthode à la place, depuis l'appel de la count
on a eu un indésirable effet collatéral.
j'espère que cela pourrait être utile à quelqu'un d'autre, car il n'a pas été facile de trouver la source du problème, nous étions confrontés.