Le pilote natif MongoDB pour Node suit la convention Node.js pour les fonctions asynchrones, à savoir que chaque méthode reçoit une fonction de rappel comme dernier paramètre. Donc au lieu de db.collection.find(query).count()
, votre fonction doit être réécrite comme suit :
db.collection.find(query).count( function(err, count){ // do stuff here }
Le paramètre count
capture le résultat de votre requête.
Vous pouvez également simplifier la fonction en db.collection.count(query, function(err, count){}
.
Votre fonction d'insertion doit également suivre la même convention, en utilisant une fonction de rappel sous la forme function(err, res){}
comme dernier paramètre.
Je vous recommande de consulter la MongoDB Native Driver Docs pour plus d'informations.
Modifié pour donner un exemple dans CoffeeScript : Voici la fonction réécrite avec la syntaxe CoffeeScript.
db.Event.count(eventobj, (err, count) ->
// do stuff