In-memory database adapter with MongoDB API for ShareDB

Usage no npm install needed!

<script type="module">
  import teamworkSharedbMingoMemory from 'https://cdn.skypack.dev/@teamwork/sharedb-mingo-memory';



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.


var ShareDBMingo = require('@teamwork/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.


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.