This package provides MongoDB integration for the SoapJS framework, enabling seamless interaction with MongoDB databases and ensuring that your data access layer is clean, efficient, and scalable.
- Easy-to-use MongoDB collections and query factories.
- Integration with the SoapJS framework for structured, clean architecture.
- Support for MongoDB operations such as find, insert, update, and delete.
- Custom error handling to improve debugging and error resolution.
- Compatibility with various MongoDB versions, with support for different features based on version detection.
Remember to have mongodb
and @soapjs/soap
installed in your project in which you want to use this package.
Install the package using npm:
npm install @soapjs/soap-node-mongo
-
Import the necessary components from the package:
import { MongoCollection, MongoConfig, MongoQueryFactory, MongoSource, MongoUtils } from '@soapjs/soap-node-mongo';
-
Set up your MongoDB configuration:
const config = new MongoConfig({ database: 'yourDatabase', hosts: ['localhost'], ports: ['27017'], user: 'yourUser', password: 'yourPassword' // additional config parameters });
-
Create a new
MongoSource
instance:const mongoSource = await MongoSource.create(config);
-
Use
MongoCollection
to perform database operations:const collection = new MongoCollection<MyDocumentType>(mongoSource, 'myCollectionName'); const documents = await collection.find({ filter: { status: 'active' } });
-
Utilize
MongoQueryFactory
for building complex queries and aggregations:const queryFactory = new MongoQueryFactory(); const params = FindParams.create({ where: new Where().valueOf('customer').isEq(userId) }); const { filter, options } = queryFactory.createFindQuery(params);
For detailed documentation and additional usage examples, visit SoapJS documentation.
If you encounter any issues, please feel free to report them here.
For any questions, collaboration interests, or support needs, you can contact us through the following:
- Official:
- Email: contact@soapjs.com
- Website: https://soapjs.com
- Radoslaw Kamysz:
- Email: radoslaw.kamysz@gmail.com
- Warpcast: @k4mr4ad
- Twitter: @radoslawkamysz
@soapjs/soap-node-mongo is MIT licensed.