O MongoDB Native Driver for Node segue a convenção Node.js para funções assíncronas, ou seja, cada método recebe uma função de retorno de chamada como último parâmetro. Então, em vez de
db.collection.find(query).count()
, sua função deve ser reescrita como:db.collection.find(query).count( function(err, count){ // do stuff here }
O parâmetro
count
captura o resultado da sua consulta. Você também pode simplificar a função para
db.collection.count(query, function(err, count){}
. Sua função de inserção também deve seguir a mesma convenção, usando uma função de retorno de chamada com a forma de
function(err, res){}
como último parâmetro. Eu recomendo olhar para os MongoDB Native Driver Docs Para maiores informações.
Editado para dar exemplo em CoffeeScript: Aqui está a função reescrita com a sintaxe CoffeeScript.
db.Event.count(eventobj, (err, count) ->
// do stuff