open-index/open-npm huggingface dataset:
npm package: @runit-serverless/database
Description: Nodejs module for managing database on the runit serverless platform
Author: Amos Amissah
Latest version: 0.0.2

# @runit-serverless/database
 Nodejs module for accessing database on runit serverless platform

## Description
`@runit-serverless/database` is a Node.js module designed to facilitate database operations on the Runit serverless platform. It provides a simple API to perform CRUD operations and more, leveraging environment variables for configuration.

## Features
- CRUD operations: Create, Read, Update, Delete
- Support for multiple document operations: insertMany, update, find, findOne
- Configuration via environment variables
- Error handling

## Installation
```bash
npm install @runit-serverless/database
```

## Usage
First, ensure you have set the necessary environment variables (`RUNIT_API_ENDPOINT`, `RUNIT_API_KEY`, `RUNIT_PROJECT_ID`).

### Basic Example
```javascript
const { Document } = require('@runit-serverless/database');

Document.initialize('your-api-endpoint', 'your-api-key', 'your-project-id');

async function getDocument() {
  try {
    const data = await Document.find('collectionName', { key: 'value' });
    // Or const data = await Document.<collectionName>.find({ key: 'value' });
    console.log(data);
  } catch (error) {
    console.error(error);
  }
}
```

## API Reference
### Document Methods
- `initialize(api_endpoint, api_key, project_id)`: Configures the API endpoint, key, and project ID.
- `find(collection, filter, projection)`: Retrieves documents based on filter and projection.
- `findOne(collection, filter, projection)`: Retrieves a single document based on filter and projection.
- `insert(collection, document)`: Inserts a new document into the specified collection.
- `insertMany(collection, documents)`: Inserts multiple documents into the specified collection.
- `update(collection, filter, update)`: Updates documents in the specified collection based on the filter.
- `remove(collection, filter)`: Removes documents from the specified collection based on the filter.

## Contributing
Contributions are welcome! Please fork the repository and submit pull requests with any enhancements.

## License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.