mongoose-rattle-plugin

0.4.2 • Public • Published

mongoose-rattle-plugin Build Status

Prerequisite

Your project must be with mongoose 3.8.x. Otherwise you'll have conflicts and it will not work.

Description

Add social interactions (messages and likes) to mongoose document.

You can :

  • like/unlike the document
  • add/remove comments to the document
  • add/remove replies to a comment
  • like/unlike a comment or a reply

Installation

$ npm install mongoose-rattle-plugin

Overview

Add the plugin to a schema

var mongoose           = require('mongoose');
var MongooseRattlePlugin = require('mongoose-rattle-plugin');
 
var MySchema = new mongoose.Schema();
 
MySchema.plugin(MongooseRattlePlugin);
 
MySchema.add({
  'myPersonalField': String
});
 
var MyModel = mongoose.model("MyModel", MySchema);
 
module.exports = MyModel;

Specifications

Please see the specifications here

Schema architecture choice

Embedding All Comments

No recursive embedded (threaded) comments

Recursive comments is not so interesting for user experience and brings development much more difficult when requiring performance.

I think threaded discussions are difficult to follow and doesn't reflect real discussion (or civilized discussion). In real life when a group of people discuss about a subject in civilized society, they stay together in circle and keep talking one after another. While threaded comments should results to a group of people having a discussion confused in different circles where every could participate. That could be interesting but this a mess.

But if you want to develop recursive comments here are interesting links: http://stackoverflow.com/questions/7992185/mongoose-recursive-embedded-document-in-coffeescript http://stackoverflow.com/questions/17416924/create-embedded-docs-with-mongoose-and-express

Contribution prerequisite

$ npm install -g mocha coffee-script
$ npm install
$ make test

Package Sidebar

Install

npm i mongoose-rattle-plugin

Weekly Downloads

0

Version

0.4.2

License

none

Last publish

Collaborators

  • daemon1981