MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Erste Schritte mit Node.js, angle.js und MongoDB, Modellieren von Beziehungen und andere Ramp-up-Tipps

Wenn Sie Apps erstellen, bei denen Sie sowohl eine serverseitige Komponente als auch eine clientseitige Komponente haben, wird die Sache etwas komplizierter, als wenn Sie nur ein serverseitiges Framework haben.

  • Wenn Sie ein clientseitiges Framework wie AngularJS verwenden, werden alle Ihre Vorlagen clientseitig und nicht serverseitig kompiliert. Das ist ein großer Unterschied zum herkömmlichen serverseitigen Rendern. Das heißt, anstatt gerenderten HTML-Code an den Client zu senden, würden Sie JSON senden. Ihr Server würde im Wesentlichen zu einer RESTful-API mit Sicherheitseinrichtungen.

  • Ich bin mit AngularJS nicht sehr vertraut, eher mit Ember, aber Sie würden im Wesentlichen einen erholsamen Dienst erstellen:https:/ /gist.github.com/2432692 . Das würde mit dem Server über eine RESTful-Schnittstelle kommunizieren.

  • Auf dem Server würden Sie mit nodejs ein ORM wie Mongoose oder ähnliches verwenden. Sie können Beziehungen, Dokumente usw. erstellen. Eine Anmerkung:Sie müssen Ihre Modelle sowohl auf dem Server als auch auf dem Client duplizieren.

  • MongoDB verwendet bson, eine binäre Kodierung einer serialisierten JSON-Zeichenfolge/eines Objekts. Da nodejs mit der V8-JavaScript-Engine erstellt wurde, ist JSON ein natürlicher Objekttyp und daher ist die Arbeit mit MongoDB extrem einfach.

  • HTTP-Server auf NodeJS:NodeJS bietet eine Basisimplementierung für einen HTTP-Server. Es ist nicht viel, aber Sie können Anfragen beantworten und bearbeiten. Es gibt keine Sitzungs-, Cookie-, Authentifizierungsunterstützung, also können Sie entweder connect verwenden der auf dem traditionellen HTTP-Server aufbaut, oder ExpressJS verwenden, das sowohl auf connect aufbaut und das normale http Server, den dieser Knoten bereitstellt. Der Einstieg in ExpressJS ist extrem einfach und funktioniert gut mit RESTful-Backends.

Es ist ziemlich einfach. Holen Sie sich ExpressJS, erstellen Sie eine neue App, richten Sie alle Client-seitigen Dinge (AngularJS) und Modulsysteme ein, wenn Sie AMD, CommonJS, Browserify usw. verwenden...