Newly Paranoid Maintainers
    Share your code. npm Orgs help your team discover, share, and reuse code. Create a free org »

    backbone-mongopublic

    Build Status

    logo

    BackboneMongo provides MongoDB storage for BackboneORM.

    Because BackboneORM's query language is based on MongoDB's query language, many queries just work! With a twist...Backbone.ORM provides cross-collection relationships and embedded data for MongoDB.

    In addition, BackboneMongo using CouchDB-style '_rev' versioning to ensure coherency of data.

    Examples (CoffeeScript)

    class Change extends Backbone.Model
      model_name: 'Change'
      sync: require('backbone-orm').sync(Change)
     
    class Task extends Backbone.Model
      urlRoot: 'mongodb://localhost:27017/tasks'
      schema:
        project: -> ['belongsTo'Project]
        changes: -> ['hasMany'Changeembed: true]
      sync: require('backbone-mongo').sync(Task)
     
    class Project extends Backbone.Model
      urlRoot: 'mongodb://localhost:27017/projects'
      schema:
        tasks: -> ['hasMany'Task]
        changes: -> ['hasMany'Changeembed: true]
      sync: require('backbone-mongo').sync(Project)

    Examples (JavaScript)

    var Change = Backbone.Model.extend({
      model_name: 'Change',
    });
    Task.prototype.sync = require('backbone-orm').sync(Change);
     
    var Task = Backbone.Model.extend({
      urlRoot: 'mongodb://localhost:27017/tasks',
      schema: {
        project: function() { return ['belongsTo', Project]; }
        changes: function() { return ['hasMany', Change, {embed: true}]; }
      }
    });
    Task.prototype.sync = require('backbone-mongo').sync(Task);
     
    var Project = Backbone.Model.extend({
      urlRoot: 'mongodb://localhost:27017/projects',
      schema: {
        tasks: function() { return ['hasMany', Task]; }
        changes: function() { return ['hasMany', Change, {embed: true}]; }
      }
    });
    Project.prototype.sync = require('backbone-mongo').sync(Project);

    Please checkout the website for installation instructions, examples, documentation, and community!

    For Contributors

    To build the library for Node.js:

    $ gulp build

    Please run tests before submitting a pull request:

    $ gulp test --quick

    and eventually all tests:

    $ npm test

    install

    npm i backbone-mongo

    Downloadsweekly downloads

    30

    version

    0.6.10

    license

    MIT

    repository

    github.com

    last publish

    collaborators

    • avatar
    • avatar
    • avatar
    • avatar