0.2.5 • Published 10 months ago

@kevboutin/azure-middy-mongodb v0.2.5

Weekly downloads
-
License
MIT
Repository
github
Last release
10 months ago

azure-middy-mongodb

MongoDB middleware for the azure-middy framework, the Node.js middleware engine for Azure functions.

Install

To install the MongoDB middleware, you can use NPM:

npm install --save @kevboutin/azure-middy-mongodb

Prerequisites

  • Node.js >= 18
  • A MongoDB instance (local or remote)
  • Environment variable MONGO_URI set (defaults to "mongodb://localhost:27017")

Usage

The middleware provides MongoDB connection management for your Azure Functions.

const { app } = require("@azure/functions");
const middy = require("@kevboutin/azure-middy-core");
const { mongodbMiddleware } = require("@kevboutin/azure-middy-mongodb");

// Your handler
const baseHandler = async (req, context) => {
    // Your business logic here
    // The MongoDB connection is available in req.internal.connection
    return {
        body: JSON.stringify({ message: "Success" }),
    };
};

// Wrap handler with middy
const handler = middy(baseHandler).use(
    mongodbMiddleware({
        serverSelectionTimeoutMS: 5000, // Optional configuration
    }),
);

module.exports = { handler };

app.http("yourFunction", {
    route: "your-route",
    methods: ["GET"],
    authLevel: "anonymous",
    handler: handler,
});

Connection Management

The middleware automatically handles:

  • Connection creation on first request
  • Connection reuse across requests
  • Connection health checks
  • Reconnection if the connection is lost
  • Safe connection closure

Environment Variables

  • MONGO_URI: MongoDB connection string (default: "mongodb://localhost:27017")

Documentation and examples

For documentation and examples, refer to the main Azure-middy monorepo on GitHub.

Contributing

Everyone is very welcome to contribute to this repository. Feel free to raise issues or to submit Pull Requests.

License

Licensed under MIT License. Copyright (c) 2024 Kevin Boutin and the Azure-Middy team.

0.2.5

10 months ago

0.2.4

1 year ago

0.2.3

1 year ago

0.2.1

1 year ago

0.2.0

1 year ago

0.1.1

1 year ago

0.2.2

1 year ago

0.1.0

2 years ago