Socket
Socket
Sign inDemoInstall

mongodb-memory-server-core

Package Overview
Dependencies
240
Maintainers
2
Versions
261
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    mongodb-memory-server-core

MongoDB Server for testing (core package, without autodownload). The server will allow you to connect your favourite ODM or client library to the MongoDB Server and run parallel integration tests isolated from each other.


Version published
Weekly downloads
587K
increased by11.6%
Maintainers
2
Install size
10.4 MB
Created
Weekly downloads
 

Package description

What is mongodb-memory-server-core?

The mongodb-memory-server-core package provides an in-memory MongoDB server for testing purposes. It allows developers to spin up a MongoDB server instance that runs entirely in memory, making it ideal for unit tests and integration tests where a real MongoDB server would be overkill or too slow.

What are mongodb-memory-server-core's main functionalities?

Start an In-Memory MongoDB Server

This feature allows you to start an in-memory MongoDB server instance. The code sample demonstrates how to create a new MongoMemoryServer instance and retrieve its URI.

const { MongoMemoryServer } = require('mongodb-memory-server-core');
(async () => {
  const mongod = new MongoMemoryServer();
  const uri = await mongod.getUri();
  console.log(`MongoDB Server started at ${uri}`);
})();

Stop the In-Memory MongoDB Server

This feature allows you to stop the in-memory MongoDB server instance. The code sample demonstrates how to start and then stop the MongoMemoryServer instance.

const { MongoMemoryServer } = require('mongodb-memory-server-core');
(async () => {
  const mongod = new MongoMemoryServer();
  await mongod.start();
  console.log('MongoDB Server started');
  await mongod.stop();
  console.log('MongoDB Server stopped');
})();

Use with Mongoose

This feature allows you to use the in-memory MongoDB server with Mongoose. The code sample demonstrates how to connect Mongoose to the in-memory MongoDB server, perform database operations, and then disconnect and stop the server.

const mongoose = require('mongoose');
const { MongoMemoryServer } = require('mongodb-memory-server-core');
(async () => {
  const mongod = new MongoMemoryServer();
  const uri = await mongod.getUri();
  await mongoose.connect(uri, { useNewUrlParser: true, useUnifiedTopology: true });
  console.log('Mongoose connected to in-memory MongoDB');
  // Perform database operations
  await mongoose.disconnect();
  await mongod.stop();
})();

Other packages similar to mongodb-memory-server-core

Changelog

Source

9.0.0 (2023-10-06)

⚠ BREAKING CHANGES

  • resolveConfig: Default binary version is now "6.0.9"

  • DryMongoBinary: "legacyHomeCache" has been renamed to "homeCache" when using "DryMongoBinary" directly

  • MongoMemoryReplSet: ReplSet option "auth" can now not be a boolean anymore, use as a object instead

  • Authentication now is only created when "{ enable: true }" is given also "disable" has been removed

  • MongoBinaryDownload: aliases for ".binaryOpts.*" have been removed, use ".binaryOpts.option" instead

  • ".cleanup(boolean)" is now no longer supported, use object options instead

  • ".stop(boolean)" is now no longer supported, use object options instead

  • tsconfig: potentially breaking change upgrading "target" to "es2020" in tsconfig

  • Lowest supported NodeJS version is now 14.0

  • MongoBinaryDownloadUrl::translateArch: "ia32" ("i386" / "i686") are now unsupported by mongodb-memory-server

  • tsconfig: potentially breaking change upgrading "target" to "es2019" in tsconfig

  • MongoInstance::checkErrorInLine: potentially breaking change not removing ", terminating" from error

  • MongoBinaryDownloadUrl::translatePlatform: potentially breaking change removing "sunos" from translation

  • tsconfig: update "target" to "es2019" (df41101)

  • tsconfig: update "target" to "es2020" (ff20382)

Features

  • change authentication to only happen when "enable" is "true" (66a5ad3)
  • DryMongoBinary: rename "legacyHomeCache" to "homeCache" (eb7b691)
  • enable "MD5_CHECK" by default (26cc408)
  • merge "EnsureInstanceError" into "InstanceInfoError" (6962cbe)
  • merge "NoSystemBinaryFoundError" into "BinaryNotFoundError" (d4e4d63)
  • MongoBinaryDownload: remove aliases for "binaryOpts" (4bb3420)
  • MongoBinaryDownloadUrl::getUbuntuVersionString: handle falling back to default version better (8bf3d88)
  • MongoBinaryDownloadUrl::translateArch: remove ia32 translation and support (a827a28), closes #638
  • MongoBinaryDownloadUrl::translatePlatform: remove translation of "elementary OS" (ca75ef5)
  • MongoBinaryDownloadUrl::translatePlatform: remove translation of "sunos" (31060b2), closes #661
  • MongoBinaryDownloadUrl: add ability to overwrite distro used (f2b1c62), closes #753
  • MongoBinaryDownloadUrl: remove linux fallback binary (fe76b56), closes #761
  • MongoInstance::checkErrorInLine: dont remove ", terminating" from error (793aa0d), closes #664
  • MongoInstance::start: error when already having a "mongodProcess" defined (cb80073), closes #662
  • MongoInstance: remove storage engine "devnull" (6e38f99)
  • MongoInstance: remove storage engine "mmapv1" (f689bdd)
  • MongoMemoryReplSet: change "auth" to not be able to be a boolean anymore (0c6b574)
  • MongoMemoryServer: change "instance.auth" to not be manually set-able (840584b)
  • MongoMemoryServer: use storage engine "wiredTiger" if version is 7.0.0 or higher (952609b), closes #742
  • remove support for ".cleanup(boolean)" (9bff82e)
  • remove support for ".stop(boolean)" (f925498)
  • resolveConfig: update default binary version to 6.x (3f5d421)
  • set lowest supported nodejs version to 14.0 (edc3a31)
  • util: add module "getport" (4d139a2)

Fixes

  • DryMongoBinary::generateOptions: actually use correct type for parameters (f099597)
  • getport: only run ".unref" if it exists (73c0c2e), closes #801
  • MongoBinaryDownload::makeMD5check: actually hash the content of the file, not the path (c71dbf3)
  • MongoBinaryDownload: change "_downloadingUrl" to be protected (67ae260)
  • MongoInstance::checkErrorinLine: add more info to "aborting after" error (12fca33)
  • MongoInstance::stop: handle "stop" being called multiple times while running (80e6cd8), closes #802
  • MongoInstance: change to call ".unref" on the mongodb process (59ec785), closes #696
  • MongoMemoryServer: add log for when "instance.auth" is "false" but "opts.auth" is also defined (7463fdc)
  • remove usage of "md5-file" (8096884)
  • remove usage of "uuid" package (e30209a)
  • replace "get-port" usage with "getport" module (9bffeea)

Style

  • apply prettier 3.0.1 formatting (815a585)
  • DryMongoBinary: remove todo comment (08353b4)
  • MongoBinaryDownload: fix comment (49eb8fc)
  • MongoBinaryDownload: remove unused comment (ba26346)
  • MongoBinaryDownload: rename error variables from "e" to "err" (4bc2b22)
  • MongoBinaryDownloadUrl: update tsdoc comments (2c9c6fe)
  • MongoMemoryReplSet: rename error variables from "e" to "err" (99d556d)
  • MongoMemoryServer: remove todo comment (ea93afb)

Refactor

  • MongoMemoryServer::CreateUserMongoDB: update "roles" to use from mongodb directly (274499a), closes #663

Dependencies

  • @google/semantic-release-replace-plugin: replace with semantic-release-replace-plugin (245a70f)
  • @types/debug: upgrade to version 4.1.8 (fdaa353)
  • @types/debug: upgrade to version 4.1.9 (73f265a)
  • @types/follow-redirects: upgrade to version (27dd371)
  • @types/jest: upgrade to version 29.5.2 (6111f36)
  • @types/jest: upgrade to version 29.5.5 (4f5d25d)
  • @types/node: upgrade to version 14.18.45 (f93397b)
  • @types/node: upgrade to version 14.18.63 (9cf137c)
  • @types/semver: upgrade to version 7.5.0 (45c6fbc)
  • @types/semver: upgrade to version 7.5.3 (3942290)
  • @types/tar-stream: upgrade to version 3.1.1 (b6ac2c9)
  • @types/uuid: upgrade to version 9.0.0 (1a11854)
  • @types/yauzl: upgrade to version 2.10.1 (ce856ec)
  • @types/yazl: upgrade to version 2.4.3 (0191bb7)
  • @typescript-eslint/*: upgrade to version 5.50.0 (6db8e1e)
  • @typescript-eslint/*: upgrade to version 5.59.2 (834a3bf)
  • @typescript-eslint/*: upgrade to version 5.59.9 (a1bf489)
  • async-mutx: upgrade to version 0.4.0 (ddfebe5)
  • commitlint: upgrade to version 17.4.2 (897fa12)
  • commitlint: upgrade to version 17.6.3 (1248af6)
  • commitlint: upgrade to version 17.6.5 (86b081b)
  • commitlint: upgrade to version 17.6.6 (6d48006)
  • commitlint: upgrade to version 17.7.1 (e0e3408)
  • commitlint: upgrade to version 17.7.2 (60a5a30)
  • conventional-changelog-conventionalcommits: upgrade to version 6.0.0 (b199421)
  • conventional-changelog-conventionalcommits: upgrade to version 6.1.0 (ebd01e3)
  • eslint-config-prettier: upgrade to version 8.8.0 (7980800)
  • eslint-config-prettier: upgrade to version 9.0.0 (2e24d7a)
  • eslint: upgrade to version 8.33.0 (7364aa9)
  • eslint: upgrade to version 8.40.0 (4ab49e5)
  • eslint: upgrade to version 8.42.0 (b7bbfc9)
  • eslint: upgrade to version 8.44.0 (d8ae174)
  • eslint: upgrade to version 8.47.0 (6df5c1d)
  • eslint: upgrade to version 8.50.0 (8076a48)
  • follow-redirects: upgrade to version 1.15.3 (b5a4cc6)
  • get-port: remove dependency (559328b)
  • https-proxy-agent: upgrade to version 6.1.0 (9e2ef8d)
  • https-proxy-agent: upgrade to version 7.0.1 (d4d0c94)
  • https-proxy-agent: upgrade to version 7.0.2 (3f5f457)
  • husky: upgrade to version 8.0.3 (45deaca)
  • jest: upgrade to version 29.4.0 (2e47534)
  • jest: upgrade to version 29.5.0 (0049da6)
  • jest: upgrade to version 29.6.1 (980d280)
  • jest: upgrade to version 29.6.2 (ef96b98)
  • jest: upgrade to version 29.6.3 (738c715)
  • jest: upgrade to version 29.7.0 (90af566)
  • lint-staged: upgrade to version 13.2.2 (cb81395)
  • lint-staged: upgrade to version 13.2.3 (ed1df56)
  • md5-file: remove package (a941c8b)
  • mongodb: upgrade to version 4.16.0 (6deefda)
  • mongodb: upgrade to version 5.0.0 (96e61c0)
  • mongodb: upgrade to version 5.4.0 (8d9ab97)
  • mongodb: upgrade to version 5.6.0 (642c274)
  • mongodb: upgrade to version 5.8.0 (4bffe5a)
  • mongodb: upgrade to version 5.9.0 (1e5deef)
  • prettier: upgrade to version 2.8.3 (8c4c1c0)
  • prettier: upgrade to version 2.8.8 (c2a5bde)
  • prettier: upgrade to version 3.0.1 (1cd459b)
  • prettier: upgrade to version 3.0.2 (94f9841)
  • prettier: upgrade to version 3.0.3 (1145757)
  • rimraf: upgrade to version 4.1.2 (d1f7b71)
  • rimraf: upgrade to version 5.0.0 (05b5663)
  • rimraf: upgrade to version 5.0.1 (01e39e2)
  • rimraf: upgrade to version 5.0.5 (a331189)
  • saslprep: add dev-dependency (db7455c)
  • semantic-release-replace-plugin: downgrade to version 1.2.0 (cacf945)
  • semantic-release-replace-plugin: downgrade to version 1.2.3 (3e52d32)
  • semantic-release-replace-plugin: upgrade to version 1.2.6 (4530214)
  • semantic-release: upgrade to version 19.0.5 (27e22a7)
  • semver: upgrade to version 7.5.0 (791f6ae)
  • semver: upgrade to version 7.5.1 (61d5ae8)
  • tar-stream: upgrade to version 3.0.0 (ad86aec)
  • ts-jest: upgrade to version 29.1.0 (4a2f2aa)
  • ts-jest: upgrade to version 29.1.1 (7a82045)
  • tslib: upgrade to version 2.5.0 (d0fad87)
  • tslib: upgrade to version 2.5.3 (22e6cb0)
  • tslib: upgrade to version 2.6.2 (ed17876)
  • typedoc: upgrade to version 0.24.8 (fefab38)
  • typescript: upgrade to version 4.7.4 (5a05a49), closes #588
  • typescript: upgrade to version 4.9 (6a27dee)
  • typescript: upgrade to version 5.0.4 (d531dde)
  • uuid: remove package (41b2551)

Dev-Dependencies

  • saslprep: remove dev-dependency again (c3b4bdc)

Readme

Source

mongodb-memory-server-core

Node.js CI NPM version Downloads stat Commitizen friendly TypeScript compatible codecov.io Backers on Open Collective Sponsors on Open Collective mongodb-memory-server-core

Core package which contains main code. Used in all other packages.

Full README with available options and examples

Keywords

FAQs

Last updated on 06 Oct 2023

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc