0.0.3 • Published 10 years ago

mongoose-denorm v0.0.3

Weekly downloads
56
License
-
Repository
github
Last release
10 years ago

Mongoose-elastic

Simple two-way denormalization for mongoose schemas.

Version

0.3

Tech

  • Mongoose

Directory Structure

|---mongoose-elastic
   |-lib
   |-test

Install

npm install mongoose-elastic --save

Setup

Add a mapping and prefix.

activitySchema.plugin(elastic, { prefix: 'dev',
  mapping: {

    message: String,
    event: {
      title: String
    }
  }
})

=======

Examples

var mongoose = require('mongoose');

var denormalize = require('./lib/denormalize');
var Mixed = mongoose.Schema.Types.Mixed;

```bash
var activitySchema = new mongoose.Schema({
  message           :   String,
  event           : { type: Mixed, ref: 'events', fields: ['title', 'uName', 'address'] },
  user            : { type: Mixed, ref: 'users', fields: ['uName'] },
});

var eventSchema = new mongoose.Schema({
  uName    : { type: String, maps: ['activities'] },
  title: { type: String, maps: ['activities'] },
  address: String,
  location: [0, 3]
})

var userSchema = new mongoose.Schema({
  uName: String,
  fullName: String
})

// automatically all data on save, not just 'changed' fields
activitySchema.plugin(denormalize, { sync: true });
userSchema.plugin(denormalize);
eventSchema.plugin(denormalize);

var Activity = mongoose.model('activities', activitySchema) var User = mongoose.model('users', userSchema) var Event = mongoose.model('events', eventSchema)

mongoose.connect('mongodb://localhost:27017/test')

// create models var event = new Event({ uName: 'eventUName', title: 'Smashboxx', address: 'Scottsdale, AZ', location: 0, 3 })

var user = new User({ uName: 'username', fullName: 'John Doe' })

/ Now just save docs and activity will be denormalized. / var activity = new Activity({ message: 'Im denormalized! Yay!', user: user.id, event: event.id })

## Tests
-----------
```bash
make test
0.0.3

10 years ago

0.1.9

10 years ago

0.1.8

10 years ago

0.1.7

10 years ago

0.1.6

10 years ago

0.1.5

10 years ago

0.1.4

10 years ago

0.1.3

10 years ago

0.1.2

10 years ago

0.1.1

10 years ago

0.1.0

10 years ago