MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Premiers pas avec Node.js, angular.js et MongoDB, modélisation des relations et autres conseils d'accélération

Faire des applications où vous avez à la fois un composant côté serveur, ainsi qu'un composant côté client rend les choses un peu plus compliquées que d'avoir simplement un framework côté serveur.

  • Lorsque vous utilisez un framework côté client comme AngularJS, tous vos modèles sont compilés côté client, pas côté serveur. C'est une énorme différence par rapport au rendu traditionnel côté serveur. Cela signifie qu'au lieu d'envoyer du HTML rendu au client, vous enverriez du JSON. Votre serveur deviendrait essentiellement une API RESTful avec des emplacements de sécurité.

  • Je ne suis pas extrêmement familier avec AngularJS, plus avec Ember, mais vous créeriez essentiellement un service reposant :https:/ /gist.github.com/2432692 . Cela communiquerait avec le serveur sur une interface RESTful.

  • Sur le serveur, en utilisant nodejs, vous utiliseriez un ORM comme Mongoose ou quelque chose de similaire. Vous pouvez créer des relations, des documents, etc... Attention, vous devrez dupliquer vos modèles à la fois sur le serveur et sur le client.

  • MongoDB utilise bson, un encodage binaire d'une chaîne/objet JSON sérialisé. Parce que nodejs est construit à l'aide du moteur JavaScript V8, JSON est un type d'objet naturel et donc travailler avec MongoDB est extrêmement simple.

  • Serveur HTTP sur NodeJS :NodeJS fournit une implémentation de base pour un serveur http. Ce n'est pas beaucoup, mais vous pouvez répondre et gérer les demandes. Il n'y a pas de support de session, de cookie, d'authentification, vous pouvez donc soit utiliser connect qui s'appuie sur le serveur http traditionnel ou utilise ExpressJS qui s'appuie à la fois sur connect et le http normal serveur fourni par ce nœud. ExpressJS est extrêmement facile à utiliser et fonctionne bien avec les backends RESTful.

C'est assez simple. Obtenez ExpressJS, créez une nouvelle application, configurez tous les éléments côté client (angularJS) et les systèmes de modules si vous utilisez AMD, CommonJS, Browserify, etc...