MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

mongo/node TypeError:callback nie jest funkcją na zapytanie

Natywny sterownik MongoDB dla węzła jest zgodny z konwencją Node.js dla funkcji asynchronicznych, a mianowicie, że każda metoda otrzymuje funkcję wywołania zwrotnego jako ostatni parametr. Więc zamiast db.collection.find(query).count() , twoja funkcja powinna zostać przepisana jako:

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

Parametr count przechwytuje wynik zapytania.

Możesz również uprościć funkcję do db.collection.count(query, function(err, count){} .

Twoja funkcja wstawiania powinna również być zgodna z tą samą konwencją, używając funkcji zwrotnej w postaci function(err, res){} jako ostatni parametr.

Polecam zapoznać się z MongoDB Native Driver Docs aby uzyskać więcej informacji.

Zmieniono, aby dać przykład w CoffeeScript: Oto funkcja przepisana za pomocą składni CoffeeScript.

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



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Wzorce projektowe dla warstwy dostępu do danych

  2. Wprowadzenie do podstaw MongoDB Zone

  3. Wykonywanie zapytań, filtrowanie i aktualizowanie wielopoziomowych tablic zagnieżdżonych w MongoDB przy użyciu C#

  4. Jak skonfigurować klaster MongoDB obsługujący sesje?

  5. Django + Mongo + Docker pobiera pymongo.errors.ServerSelectionTimeoutError