sql >> Databasteknik >  >> NoSQL >> MongoDB

Komma igång med Node.js, angular.js och MongoDB, modelleringsrelationer och andra upptrappningstips

Att göra appar där du har både en komponent på serversidan och en komponent på klientsidan gör det lite mer komplicerat än att bara ha ett ramverk på serversidan.

  • När du använder ett ramverk på klientsidan som AngularJS kompileras alla dina mallar på klientsidan, inte på serversidan. Det är en enorm skillnad från traditionell server-side rendering. Det betyder att du istället för att skicka renderad HTML till klienten skickar JSON. Din server skulle i princip bli ett RESTful API med säkerhetsplaceringar.

  • Jag är inte särskilt bekant med AngularJS, mer med Ember, men du skulle i princip skapa en vilsam tjänst:https:/ /gist.github.com/2432692 . Det skulle kommunicera med servern på ett RESTful-gränssnitt.

  • På servern, med hjälp av nodejs, skulle du använda en ORM som Mongoose eller något liknande. Du kan skapa relationer, dokument, etc... En notering, du måste duplicera dina modeller på både servern och klienten.

  • MongoDB använder bson, en binär kodning av en serialiserad JSON-sträng/objekt. Eftersom nodejs är byggd med V8 JavaScript-motorn är JSON en naturlig objekttyp och därför är det extremt enkelt att arbeta med MongoDB.

  • HTTP-server på NodeJS:NodeJS tillhandahåller en basimplementering för en http-server. Det är inte mycket, men du kan svara på och hantera förfrågningar. Det finns ingen session, cookie, auth-support, så du kan antingen använda connect som bygger på den traditionella http-servern eller använd ExpressJS som bygger på båda connect och den vanliga http server som noden tillhandahåller. ExpressJS är extremt lätt att komma igång med och fungerar bra med RESTful backends.

Det är ganska enkelt. Skaffa ExpressJS, skapa en ny app, ställ in alla grejer på klientsidan (angularJS) och modulsystem om du använder AMD, CommonJS, Browserify, etc...



  1. Varför läggs ett _id med ObjectID till när man använder MongoDB:s $push för att lägga till nytt objekt i en array?

  2. Mongoose Virtuals i MongoDB Aggregate

  3. Kan inte hitta mongoDB-modulen när den distribueras till Heroku

  4. Anropar en lagrad procedur via PHP i MongoDB