Mongo Memory
Bootstrap programmatically Mongodb for testing or mocking during development.
Works on all platforms which is due to the awesome mongodb-prebuilt package.
Installation
npm install mongo-memory
Usage
const MongoInMemory = const port = 8000const dbPath = "./tempb/.data" // Mongodb placed some metadataconst mongoServerInstance = port dbPath mongoServerInstancestart mongoServerInstance mongoServerInstance mongoServerInstance mongoServerInstance mongoServerInstance mongoServerInstancemongodbObjectId mongoServerInstanceserialize // EJSON mongoServerInstancedeserialize // EJSON ) mongoServerInstance
Run tests
$ npm run test
What about BSON Types ?
You can use the EJSON format to express BSON Types with JSON e.g ObjectId.
{
"_id" : {
"$oid": "ec939793b7d8fe8f9f2aa707"
},
'last_seen_at': {
'$date': 1405266782008
}
}
Background
Mongodb storageEngine ephemeralForTest is used. The connection is created by the official mongodb package.
Credits
Most code was copied from mongo-in-memory but with significant improvements:
Changes:
- Don't save metadata in node_modules
- Don't generate random folders
- Clean up of metadata must be handled by user
- 100% Promise API
- Update mongodb-prebuilt to the newest version
- Update dependencies and tests
- Gracefully shutdown Mongodb when execute stop
- Create recursively databasePath