Skip to content

In-memory database adapter with MongoDB API for ShareDB

Notifications You must be signed in to change notification settings

share/sharedb-mingo-memory

Repository files navigation

ShareDBMingo

NPM Version Build Status Coverage Status

A database adapter for sharedb that implements a subset of Mongo operations using an in-memory database. This adapter can be useful for running application tests faster by not requiring a full database. It is also used by tests for sharedb itself.

Usage

var ShareDBMingo = require('sharedb-mingo-memory');
var db = new ShareDBMingo();

Another form is useful at times: ShareDBMingo.extendMemoryDB(MemoryDB). This creates a new ShareDBMingo class that extends from a particular MemoryDB class, in case there are more than one available. This is particularly important to ensure sharedb tests aren't testing the version of sharedb being used by sharedb-mingo-memory.

Queries

sharedb-mingo-memory uses mingo and supports the same queries mingo supports. In addition, some special top-level fields are supported, and map to Mongo cursor methods:

  • $orderby (TODO: rename to $sort)
  • $skip
  • $limit
  • $count

Other special operators that are supported in sharedb-mongo such as $mapReduce and $aggregate aren't supported and will throw an error if used.