1.5.1 • Published 1 month ago

@awsmag/power-document-db v1.5.1

Weekly downloads
-
License
MIT
Repository
-
Last release
1 month ago

power-document-db

A package to help connect and work with Amazon DocumentDB (with MongoDB compatibility). You can run this package locally by disabling ssl and connecting to a compatible mongodb docker container.

Badges

MIT License

Environment Variables

The package supports two env variables

CONNECTION_URI: Connection string to connect to the instance

DB_NAME: The name of the Db to be configured in client.

Both the env vars are optional. You can eithr configure these or can pass them to the function.

Installation

install the package fron npm

  npm install @awsmag/power-document-db

Usage/Examples

import { connectDb } from "@awsmag/power-document-db";

async function useDbWithEnvVarSet() {
  return await connectDb(); // if en variables are set
}

async function useDbWithoutEnvVarSet() {
  const uri = "mongodb://localhost:27017";
  const dbName = "test";
  const ssl = true; // Keep it true when connecting to instance. For local testing and docker container keep it false
  return await connectDb(uri, dbName, ssl); // if en variables are not set
}

The package also supports a Koa middleware to attach the client to ctx.

import { connectDb, getDbCLientMw } from "@awsmag/power-document-db";
import Koa from "koa";

const server = new Koa();
const uri = "mongodb://localhost:27017";
const dbName = "test";
const ssl = true; // Keep it true when connecting to instance. For local testing and docker container keep it false

(async () => {
  await connectDb(uri, dbName, ssl); // if en variables are not set
  server.use(getDbCLientMw());

  // rest of your code goes here
})();

// it will be available as `db` in ctx. In your handler use it like below.

const db = ctx.db;
// perform functions using db

Transactions

To use transactions, you can start a session on the client by using the following method

import { startSession } from "@awsmag/power-document-db";

const session = await startSession();

// start transaction
session.startTransaction();

// commit or abort transaction
session.commitTransaction();

session.abortTransaction();

The package is developed and maintained by S25Digital. You can also check our blog AWSMAG

1.5.1

1 month ago

1.5.0

1 month ago

1.4.0

1 month ago

1.3.2

1 month ago

1.3.1

2 months ago

1.3.0

2 months ago

1.2.3

4 months ago

1.2.2

4 months ago

1.2.1

5 months ago

1.2.0

5 months ago

1.1.0

5 months ago

1.0.4

5 months ago

1.0.3

5 months ago

1.0.2

5 months ago

1.0.1

5 months ago

1.0.0

5 months ago