MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

mongo/node TypeError:callback não é uma função na consulta


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