Mongoose Model.save () hängt beim Aufruf aus der node.js App

8

Ich versuche, Knoten und Mongo zu lernen, um eine einfache Web-App zu bauen / lerne ein wenig mehr über Web-Anwendungen. Wenn ich jedoch Model.save () aufrufen, scheint die Fortsetzungsfunktion nie auszuführen, und die Daten werden nicht gespeichert.

Folgendes habe ich bisher:

%Vor%

Es werden keine Fehler ausgegeben, und die Mongo-Protokolle zeigen an, dass beim Start der App fünf neue Verbindungen erstellt werden. Es werden keine neuen Protokolle angezeigt (mit Ausnahme von [clientcursormon] -Protokollen). Die App druckt Folgendes aus, wenn ich / dbTest in Chrome lade:

Hier geht's ...

%Vor%

Mongo scheint korrekt konfiguriert zu sein. Wenn ich Knoten habe, lief das einfache "Getting Started" -Skript, durch das Mongoose dich führt, alles funktioniert richtig.

Kann jemand darauf hinweisen, was ich falsch mache?

    
Salem 19.08.2012, 22:00
quelle

2 Antworten

12

Sie haben keine Verbindung erstellt, die standardmäßig von Mongoose verwendet werden kann. Ersetzen Sie dies:

%Vor%

Damit:

%Vor%

Verbinde andere Nissen:

  1. Sie setzen Track als globale Variable in models.js
  2. Sie müssen einen err -Parameter zu Ihrem t.save -Rückruf hinzufügen.
JohnnyHK 19.08.2012, 23:07
quelle
2

Wenn Sie zuerst nur eine Verbindung benötigen, sollten Sie mongoose.connect () verwenden.

Zweitens glaube ich, dass Sie das Track-Schema und das Track-Modell verwechseln. Dies sind zwei getrennte Dinge. new Schema () erstellt ein Schema-Objekt, das an mongoose.model () übergeben wird. Das Ergebnis von mongoose.model (das anscheinend verworfen wird) ist das, was Sie verwenden möchten, wenn Sie eine neue Instanz erstellen, die in der Datenbank gespeichert werden soll, nicht das Schema.

    
ajselvig 19.08.2012 22:40
quelle