MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Le résultat de la requête du modèle Rails Mongoid renvoie des informations de taille/longueur/compte erronées même en utilisant la limite

Du manuel fin :

Mais .limit ne modifie pas vraiment le sélecteur de requête car il ne change pas ce que la requête correspond , .offset et .limit modifier quel segment des correspondances sont retournées . Cela ne correspond pas au comportement d'ActiveRecord et la documentation n'est pas exactement explicite sur ce point subtil. Cependant, le comportement de Mongoid correspond à ce que fait le shell MongoDB :

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

Mes things la collection contient 23 documents et vous pouvez voir que le count ignore la limit .

Si vous voulez savoir combien de résultats sont renvoyés alors vous pourriez to_a d'abord :

recipes.to_a.length