MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Инсталиране на приставката mongoose friends с MeanJS

Инсталирането е лесно чрез npm, просто:

npm install mongoose-friends --save

Нямам опит с MEAN.JS, но изглежда в по-голямата си част е колекция от генератори за създаване на ъглово/експресно приложение с модел на CRUD. Като такъв изглежда следва философията на рамката за създаване на приятелството като CRUD ресурс.

Използване на yo както предлагат:

yo meanjs:crud-module friendship

Това ще генерира MVC за модел на приятелство, но ще направи някои неправилни предположения за самия модел, а именно, че той е първокласен мангуст модел. С този плъгин не е така. По-скоро приятелствата са част от вградена колекция в потребителския запис, приставката предоставя CRUD методи за тях.

Първо, добавете приставката към вашия потребителски модел.

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

Генерираният модел в app/models/friendship и препратките към него в генерираните файлове ще трябва да бъдат премахнати. Вместо Friendship модел, приятелствата ще бъдат CRUD'd чрез методите на плъгина, добавени към вашия User модел.

Контролерът, генериран в app/controllers/friendships.server.controller.js вероятно ще изисква най-много промени.

create , например ще се промени от това:

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

Към нещо повече като:

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

Маршрутите също може да се наложи да се променят в зависимост от начина, по който вашето приложение използва приятелството. Приятелствата на плъгина не са първокласен ресурс, а по-скоро вградена колекция от потребители. Поради това няма публични /friendships маршрут, например. Или този маршрут ще трябва да върне само приятелите на влезлите потребители, или бихте искали да картографирате маршрут за приятелство, специфичен за потребителя, напр. /users/ID/friendships , в случай че приятелствата на даден потребител са били видими от хора, различни от самия потребител.

Както и да е, това без съмнение е ужасно непълно и може би дори погрешно, но се надявам, че е достатъчно, за да започнете с внедряването.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB извлича стойности от BasicDBObject (Java)

  2. намалява стойността в колекцията до 0

  3. Не може да се стартира robomongo.sh с помощта на sh robomongo.sh в Ubuntu 14.04

  4. Многократно синхронно намиране на Mongoose за повторно използване на ID на обект

  5. Как да изпълнявате необработени команди mongoDB с помощта на mongoose?