naive-mongo

3.0.7 • Public • Published

version Build Status npm Coverage Status

Naive Mongo

A naive mongodb driver that simulates a mongodb in-memory server.

Goals & features

This library is a naive (array based) mongodb implementation. It does as little as possible to get the job done (meaning no optimizations whatsoever).

It implements nearly all collection's methods of the mongodb native driver, thus it can be used along mongoose as well.

It supports:

  • Aggregation (Not all options)
  • Queries (Most conditions).
  • Updates (All operations but not all options).
  • Insertions (Not all options).

It does not support:

  • $text searches.

This library is not checking paramenters YET, a misplaced parameter might result in an error.

Usage

const { MongoClient } = require('naive-mongo');
MongoClient.connect(`mongodb://some.nasty.fake.host:8080/test`, ((err, db) => {
  const collection = db.collection('sample')
  collection.insert({ nice: true }).then((newDoc) => {
    console.log(newDoc);
  }).catch((insertError) => {
    console.log(insertError);
  });
});

Why would you use this?

  • Unit testing
  • Mocking an API

Is it performant?

This library isn't supposed to be performant, but a simple mongodb implementation to make quick and dirty queries.

Version number

The version number matches the MAJOR.MINOR version of mongo driver.

Query engine

The query engine is based in mingo.

LICENSE

MIT

Package Sidebar

Install

npm i naive-mongo

Weekly Downloads

3

Version

3.0.7

License

MIT

Unpacked Size

204 kB

Total Files

58

Last publish

Collaborators

  • javiercbk