Del buen manual :
Pero .limit realmente no altera el selector de consulta ya que no cambia lo que la consulta coincide , .offset y .limit alterar qué segmento de las coincidencias se devuelven . Esto no coincide con el comportamiento de ActiveRecord y la documentación no es exactamente explícita sobre este punto sutil. Sin embargo, el comportamiento de Mongoid coincide con lo que hace el shell de MongoDB:
> db.things.find().limit(2).count()
23
Mis things la colección contiene 23 documentos y puede ver que el count ignora el limit .
Si desea saber cuántos resultados se devuelven entonces podrías to_a primero:
recipes.to_a.length