Heim  >  Artikel  >  Web-Frontend  >  Erstaunliche Lesenotizen zu node.js: Mongodb-Datenbank interaction_node.js

Erstaunliche Lesenotizen zu node.js: Mongodb-Datenbank interaction_node.js

WBOY
WBOYOriginal
2016-05-16 16:25:051741Durchsuche

In der Studie dieser Woche geht es hauptsächlich um die Interaktion mit der NodeJS-Datenbank. Wir haben die Jade-Vorlage verwendet, um eine Website zur Benutzerüberprüfung zu erstellen. Hauptsächlich, weil ich auf ein paar Probleme gestoßen bin.

1.mongodb-Version ist zu niedrig

npm ERR! Nicht kompatibel mit Ihrem Betriebssystem oder Ihrer Architektur: mongodb@0.9.9

0.9.9 unterstützt nur Linux-, Darwin- und FreeBSD-Systeme und die neueste Version unterstützt Wins.

2. Nachdem nodejs den Einfügevorgang ausgeführt hat: Das Ergebnis kann nicht gelesen werden

Code kopieren Der Code lautet wie folgt:

app.post('/signup', function(req, res, next){
//Dokument einfügen
       app.users.insert(req.body.user, function(err, doc){
If(err) return next(err);
               res.redirect('/login/' doc[0].email);
});
});

Es sieht so aus, als ob die Umleitung fehlgeschlagen ist. Die tatsächliche Situation ist, dass das Einfügen in die Datenbank erfolgreich war, das Dokument jedoch leer ist, ganz zu schweigen vom Wert von doc[0].email. Der Grund dafür ist, dass Vorgänge wie das Einfügen asynchron ausgeführt werden und asynchrone Vorgänge ihre Ergebnisse nicht standardmäßig zurückgeben, um festzustellen, ob der Vorgang erfolgreich ist. Diese Funktion muss durch Hinzufügen des dritten Parameters {safe:ture} erreicht werden, d. h. app.users.insert(req.body.user, {safe:ture}, function(){……}). Auf diese Weise wird das Ergebnis erfolgreich gelesen.

3. Undefinierter Speicher erscheint in Connect-Connect

Code kopieren Der Code lautet wie folgt:

MongoStore = require('connect-mongo')

app.use(express.session({
Geheimnis:settings.cookieSecret,
store:new MongoStore({
          db:settings.db
})
}));

Der Quellcode ist wie oben beschrieben, da er auf verschiedenen Versionen von Express basiert und das Connect-Mongo-Modul auf unterschiedliche Weise eingeführt wird. Es gibt auch eine besondere Erinnerung in der Readme.md.

Code kopieren Der Code lautet wie folgt:

Mit express4:
var session = require('express-session');
var MongoStore = require('connect-mongo')(session);
       app.use(session({
          Geheimnis: Settings.cookie_secret,
         Store: neuer MongoStore({
          db: Settings.db,
          })
}));
Mit Express<4:
var express = require('express');
var MongoStore = require('connect-mongo')(express);
App.use(express.session({
          Geheimnis: Settings.cookie_secret,
         Store: neuer MongoStore({
          db: Settings.db
          })
}));

Für verschiedene Versionen ändern Sie es einfach entsprechend.

4. Zusammenfassung

Nachdem ich dieses Buch studiert habe, kenne ich einige Funktionen von NodeJS und aktiven fremdsprachigen Websites. Die Aktualisierungshäufigkeit einiger beliebter Abschnitte in Node erhöht auch die Schwierigkeit des Lernens. Dieses Buch kann als Einführung betrachtet werden. Als nächstes habe ich vor, das Sails-Back-End-Framework durch echte Kämpfe zu erlernen. Auch während des Studiums auftretende Probleme werden in Notizbüchern festgehalten.

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn