ShareDBMingo
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('@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.
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.