Important: This documentation covers Yarn 1 (Classic).
For Yarn 2+ docs and migration guide, see yarnpkg.com.

Package detail

portable-mongodb

A fully portable MongoDB server for Node.js that runs without requiring separate MongoDB installation.

mongodb, mongo, portable-mongodb, mongodb-portable, nodejs, mongodb-database, in-memory-database, mongodb-memory-server, mock-database, test-database, database-testing, mongodb-testing, mongo-embedded, node-mongodb, mock-mongodb, mongodb-integration, lightweight-database, testing-tools, ci-cd, automated-testing

readme

Portable Mongodb

Portable Mongodb is a fully portable MongoDB server for Node.js that runs without requiring separate MongoDB installation. This package includes all necessary binaries and data directories, making it easy to integrate a MongoDB server into your Node.js projects with minimal setup.

Features

  • No Installation Required: Run MongoDB without needing to download and install it separately.
  • Embedded MongoDB Server: Integrated directly into your Node.js application.
  • Portable: Easily share and run projects across different environments.
  • Data Persistence: Maintain data between sessions without losing information.
  • No Environment Setup Required: No need to set up environment variables on Windows.

Compatibility and Supported Environments

Supported Environments

Operating System
Windows

Not Supported Environments

Operating System
MacOS (Intel)
MacOS (Apple Silicon)
Linux (all distributions, including Debian 11+)
Cloud-based Environments (e.g., CodeSandbox, Repl.it)

Installation

Install the package using npm:

npm install portable-mongodb

Note: The installation of portable-mongodb may take approximately 4-7 minutes depending on your internet speed and system performance. This is due to the package size, as it includes essential MongoDB binaries to run an embedded MongoDB instance.

Required Packages

npm install mongoose
const portableMongo = require('portable-mongodb');
const mongoose = require('mongoose');

async function main() {
  // Connect to the embedded MongoDB server with a specified database name
  await portableMongo.connectToDatabase("portable-mongodb-database");
  console.log("Connected to the portable MongoDB database.");

  // Define a schema and model
  const messageSchema = new mongoose.Schema({
    message: String
  });

  const Message = mongoose.model("Message", messageSchema);

  // Insert a document with the message: "allahu akbar"
  const newMessage = new Message({ message: "Hello World" });
  await newMessage.save();

  console.log("Message inserted:", newMessage);

  // Retrieve and print the document to confirm it was added
  const messages = await Message.find();
  console.log("Retrieved messages:", messages);
}

main().catch(console.error);

Contributing

Contributions are welcome! If you find any issues or have feature requests, please feel free to open an issue or submit a pull request.

License

This project is licensed under the ISC License.

Author

Developed by Md. Atikur Rahman.

Support

For any questions or support, you can reach out via GitHub Issues.


Thank you for using Portable Mongodb! We hope it simplifies your development process.