2012-04-04 11 views
0

Ich benutze Expressjs und Mongoskin, um eine Verbindung zur Datenbank herzustellen, und ich habe Probleme, wenn ich einen Expressjs-Fehler in meinem Mongskin-Aufruf erhalte. Ich kann das Problem nicht aufspüren, da der Fehler so allgemein ist.Was würde diesen Fehler in Expressjs verursachen?

Mein Code:

db.collection('users').find(data, {limit:1}).toArray(function(err, result) { 
    if(result) throw new noData('No results found');   
});  

Fehler:

node.js:201 
     throw e; // process.nextTick error, or 'error' event on first tick 
      ^
Error 
    at /home/jmoney/workspace/blog/app.js:238:15 
    at /home/jmoney/workspace/blog/node_modules/mongoskin/node_modules/mongodb/lib/mongodb/cursor.js:129:9 
    at /home/jmoney/workspace/blog/node_modules/mongoskin/node_modules/mongodb/lib/mongodb/cursor.js:171:11 
    at /home/jmoney/workspace/blog/node_modules/mongoskin/node_modules/mongodb/lib/mongodb/cursor.js:452:35 
    at Cursor.close (/home/jmoney/workspace/blog/node_modules/mongoskin/node_modules/mongodb/lib/mongodb/cursor.js:660:5) 
    at Cursor.nextObject (/home/jmoney/workspace/blog/node_modules/mongoskin/node_modules/mongodb/lib/mongodb/cursor.js:452:17) 
    at [object Object].<anonymous> (/home/jmoney/workspace/blog/node_modules/mongoskin/node_modules/mongodb/lib/mongodb/cursor.js:440:12) 
    at [object Object].g (events.js:156:14) 
    at [object Object].emit (events.js:88:20) 
    at Db._callHandler (/home/jmoney/workspace/blog/node_modules/mongoskin/node_modules/mongodb/lib/mongodb/db.js:1274:25) 

Alle Ideen, warum dies könnte zu brechen? Oder wie erhalten Sie detailliertere Fehlerberichte? Danke Jungs!

+1

versuchen, einschließlich der tatsächlichen Fehlermeldung. Die Fehlermeldung lautet wahrscheinlich: "Keine Ergebnisse gefunden" – Raynos

+0

Sie verwenden 'result' in Ihrer Funktionssignatur und' results' (_plural_) in Ihrer if-Anweisung. – cordsen

+0

@Raynos, das sind alle Informationen, die ich vom Knoten bekomme. Wenn ich den Fehler wende, verursacht es irgendwie einen Fehler. cordsen danke, dass du den Tippfehler bemerkt hast, jetzt aktualisiert, falsch geschrieben, als ich das Beispiel eintippte. – Justin

Antwort

0

Werfen Sie niemals einen Funktionsaufruf node.js ein, es sei denn, Sie wissen, was Sie tun. Es gibt keinen "Stapel" für den Wurf, um sich zu entrollen, wie es innerhalb von Array geschieht. Dies führt dazu, dass die Ausnahme zu einer unbehandelten Ausnahme wird.

Der einzige Weg zu stoppen, die

http://nodejs.org/api/process.html#process_event_uncaughtexception

es melden Sie sich an Sie ähnliche Logfile oder oder verwenden console.log()/dir() oder etwas verwendet.

Verwandte Themen