MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Mongo-Java-Treiber befolgt die Limit-Methode nicht

Standardmäßig ignoriert MongoDB limit und skip wenn sie zusammen mit count angewendet werden . Um dieses Verhalten zu ändern, müssen Sie applySkipLimit setzen auf true . Siehe hier für weitere Details.

In der Mongo-Shell wird dadurch das limit ignoriert und skip standardmäßig:

db.coll.find().limit(3).count();

Und dies wird diese Modifikatoren respektieren:

db.coll.find().limit(3).count(true);

Es könnte möglich sein, dass Sie eine ältere Version der Mongo-Shell verwenden, wo dies nicht der Standardwert oder etwas Ähnliches ist.

Um Ihren Java-Code zu reparieren, verwenden Sie size() statt count() - das ist wie der Aufruf von count(true) statt count() in der Schale.