Skip to content

MongoDB Module

MongoDB is an open source NoSQL database management program. NoSQL is used as an alternative to traditional relational databases. NoSQL databases are quite useful for working with large sets of distributed data. MongoDB is a tool that can manage document-oriented information, store or retrieve information.

Install

npm install @testcontainers/mongodb --save-dev

Examples

await using mongodbContainer = await new MongoDBContainer(image).start();

const db = mongoose.createConnection(mongodbContainer.getConnectionString(), { directConnection: true });
const fooCollection = db.collection("foo");
const obj = { value: 1 };

const session = await db.startSession();
await session.withTransaction(async () => await fooCollection.insertOne(obj));

const result = await fooCollection.findOne({ value: 1 });
expect(result).toEqual(obj);

await db.close();
await using mongodbContainer = await new MongoDBContainer(IMAGE)
  .withUsername("mongo_user")
  .withPassword("mongo_password")
  .start();

const db = mongoose.createConnection(mongodbContainer.getConnectionString(), { directConnection: true });

const result = await db.collection("testcontainers").insertOne({ title: "testcontainers" });
const resultId = result.insertedId.toString();
expect(resultId).toBeTruthy();

const rsStatus = await db.db?.admin().replSetGetStatus();
expect(rsStatus?.set).toBe("rs0");

await db.close();