@runit-serverless/database
v0.0.2
Published
Nodejs module for managing database on the runit serverless platform
Downloads
6
Maintainers
Readme
@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
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
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 file for details.