sql >> Databasteknik >  >> NoSQL >> MongoDB

Installera mongoose friends plugin med MeanJS

Installationen är enkel via npm, helt enkelt:

npm install mongoose-friends --save

Jag har ingen erfarenhet av MEAN.JS, men det verkar för det mesta vara en samling generatorer för att skapa en CRUD-mönstrad angular/express-app. Som sådan verkar det följa filosofin för ramverket för att skapa vänskapen som en CRUD-resurs.

Använder yo som de föreslår:

yo meanjs:crud-module friendship

Detta kommer att generera MVC för en vänskapsmodell, men kommer att göra några felaktiga antaganden om själva modellen, nämligen att det är en förstklassig mangustmodell. Med detta plugin är det inte det. Snarare är vänskap en del av en inbäddad samling i användarposten, plugin-programmet tillhandahåller CRUD-metoder för dem.

Lägg först till plugin-programmet i din användarmodell.

// in app/models/user.server.model.js
var friends = require("mongoose-friends");
// ...
UserSchema.plugin(friends());

Den genererade modellen på app/models/friendship , och referenser till det i de genererade filerna, måste tas bort. Istället för en Friendship modell, vänskap kommer att CRUD'd genom plugin-metoderna som läggs till din User modell.

Styrenheten genererad på app/controllers/friendships.server.controller.js kommer förmodligen att kräva mest förändring.

create , till exempel skulle ändras från detta:

var friendship = new Friendship(req.body);
friendship.user = req.user;
friendship.save(callback);

Till något mer som:

req.user.requestFriend(req.body.user, callback);

Rutterna kan behöva ändras också, beroende på hur din applikation använder vänskap. Insticksprogrammets vänskap är inte en förstklassig resurs, utan snarare en inbäddad samling av en användare. Som sådan finns det inga offentliga /friendships rutt, till exempel. Antingen skulle den rutten behöva returnera endast de inloggade användarnas vänner, eller så skulle du vilja kartlägga en vänskapsrutt som är specifik för användaren, t.ex. /users/ID/friendships , i det fall där en användares vänskap var synlig för andra än användaren själv.

Hur som helst, detta är utan tvekan bedrövligt ofullständigt och kanske till och med missriktat, men jag hoppas att det räcker för att du ska komma igång med implementeringen.




  1. MongoDB Spark Connector py4j.protocol.Py4JJavaError:Ett fel uppstod när o50.load anropades

  2. Hur MongoDB möjliggör maskininlärning

  3. MongoDB bästa praxis för att räkna relaterade dokument

  4. HBase och Hive – Bättre tillsammans