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

Das Abfrageergebnis des Rails Mongoid-Modells gibt falsche Größen-/Längen-/Anzahlinformationen zurück, selbst wenn Limit verwendet wird

Aus dem feines Handbuch :

Aber .limit ändert den Abfrageselektor nicht wirklich, da er nicht ändert, was die Abfrage übereinstimmt , .offset und .limit ändern, welches Segment der Treffer zurückgegeben wird . Dies entspricht nicht dem Verhalten von ActiveRecord und die Dokumentation ist zu diesem subtilen Punkt nicht gerade explizit. Das Verhalten von Mongoid stimmt jedoch mit dem überein, was die MongoDB-Shell tut:

> db.things.find().limit(2).count()
23

Meine things Sammlung enthält 23 Dokumente und Sie können sehen, dass die count ignoriert das limit .

Wenn Sie wissen möchten, wie viele Ergebnisse zurückgegeben werden dann könnten Sie to_a es zuerst:

recipes.to_a.length