2013-03-12 3 views
0

J'utilise mongoose ODM pour une application. Je suis en train de compter le nombre d'articles retournés par un modèle comme celui-ci:impossible d'obtenir le compte dans mongodb collection.find

app.post("/verifyLogin",function(request,response){ 
var usr=request.body.username; 
var pass=request.body.password; 

response.send(userModel.find({$and:[{username:"admin"},{password:"admin"}]}).count()); 

}); 

Mais je reçois en retour:

{ 
    "options": { 
    "populate": {} 
    }, 
    "_conditions": { 
    "$and": [ 
     { 
     "username": "admin" 
     }, 
     { 
     "password": "admin" 
     } 
    ] 
    }, 
    "_updateArg": {}, 
    "op": "count" 
} 

Je me attendais à un certain nombre :(

Répondre

1

Une façon de faire est d'utiliser la méthode Model.count, dans votre cas:

userModel.count({$and:[{username:"admin"},{password:"admin"}]}, function(err, result) { 
    if (err) { 
     //handle errors 
    } else { 
     response.send({count :result}); 
    } 
}); 

aussi: vous êtes dans le monde Node.js - u rappels. Le résultat que vous obtenez maintenant est le résultat de l'appel count sur le résultat Model.find() (qui, je pense, est un objet de requête), pas le nombre de résultats de la requête.

+0

i obtenir une réponse vide la façon dont vous suggérez :( – beNerd

+0

@beNerd peut-être il y a une erreur, je l'ai modifié l'exemple – soulcheck

+0

pas encore rien – beNerd

Questions connexes