Il driver MongoDB Native per Node segue la convenzione Node.js per le funzioni asincrone, ovvero che ogni metodo riceve una funzione di callback come ultimo parametro. Quindi, invece di db.collection.find(query).count()
, la tua funzione dovrebbe essere riscritta come:
db.collection.find(query).count( function(err, count){ // do stuff here }
Il parametro count
acquisisce il risultato della tua query.
Puoi anche semplificare la funzione in db.collection.count(query, function(err, count){}
.
Anche la tua funzione di inserimento dovrebbe seguire la stessa convenzione, utilizzando una funzione di callback con forma di function(err, res){}
come ultimo parametro.
Consiglierei di guardare i Documenti sui driver nativi MongoDB per ulteriori informazioni.
Modificato per fornire un esempio in CoffeeScript: Ecco la funzione riscritta con la sintassi CoffeeScript.
db.Event.count(eventobj, (err, count) ->
// do stuff