sql >> Database >  >> NoSQL >> MongoDB

mongo/node TypeError:callback is geen functie bij query

De MongoDB Native Driver voor Node volgt de Node.js-conventie voor asynchrone functies, namelijk dat elke methode een callback-functie als laatste parameter ontvangt. Dus in plaats van db.collection.find(query).count() , uw functie moet worden herschreven als:

db.collection.find(query).count( function(err, count){ // do stuff here } 

De parameter count legt het resultaat van uw zoekopdracht vast.

U kunt de functie ook vereenvoudigen tot db.collection.count(query, function(err, count){} .

Uw invoegfunctie moet ook dezelfde conventie volgen, met behulp van een callback-functie met de vorm function(err, res){} als de laatste parameter.

Ik raad aan om de MongoDB Native Driver Docs te bekijken voor meer informatie.

Bewerkt om een ​​voorbeeld te geven in CoffeeScript: Hier is de functie herschreven met CoffeeScript-syntaxis.

db.Event.count(eventobj, (err, count) ->
    // do stuff



  1. jackson deserialiseer object met lijst van lente-interface

  2. NodeJS + Express + Mongo Sessie-opslag

  3. Begeleiden van de host, selderij van een virtualenv (Django-app)

  4. MongoDB collectie afgebroken naam