Soy muy novato en Javascript-NodeJS, MongoDB, trato de saber el número de documentos encontrados por una consulta.

...
var page = req.params.page;  

var db = require('mongojs').connect('localhost:27017/foo', ['bar']); 

var docs = db.bar.find({x:'MME'}).sort({y:1}).skip(10*(page-1)).limit(10); 

var nbDocs = db.bar.find({x:'MME'}).count(); /*docs.count();*/

console.log(nbDocs);

Pero por desgracia el log que me da ‘no definido’, lo mismo si yo código

var nbDocs = docs.count();

Gracias mucho por su preciosa ayuda.

Gilles.

InformationsquelleAutor LeGilles | 2012-10-30

1 Comentario

  1. 31

    Según el docs el resultado será en el segundo argumento de la devolución de llamada a la cursor.count() método. Este podría ser un poco más difícil de implementar para alguien que es nuevo en javascript, pero creo que algo como esto debería funcionar:

    docs.count(function(error, nbDocs) {
        //Do what you need the count for here.
    });
    • Gracias a una gran cantidad de la solución. Tengo el placer de aprender Javascript, lo siento que yo no puedo votar : Voto positivo requiere de 15 reputación
    • Me alegro de que podría ayudar. El aceptar es lo que la mayoría de la gente se olvida, por lo que está por delante de la curva. 😉
    • hola ,tengo un problema similar a la anterior pregunta, quiero empujar thw resultante contar con una matriz puede por favor me ayude a buscarla fuera de esto, he probado algo como esto, pero recibiendo el errorcollection.find().count({},function(err,count){ console.log(count);//here iam getting the count,now i have to push this count to an array array.push({name:'Apple',count:count}) }) @mayhewr
    • No he utilizado mongodb o javascript en algún tiempo, pero supongo que el hecho de que estés pasando un objeto y una llamada a la .count() método es la razón por la que no trabaja. Trate de collection.find().count(function(err,count) { console.log(count); array.push({name:'Apple',count:count}) })
    • Esta es la única solución para mí en el servidor de MongoDB v3.4.4. Código de .find().count() no funciona por alguna extraña razón.

Dejar respuesta

Please enter your comment!
Please enter your name here