Mingo Collection for Convenient MongoDB-like Operations
Table of Contents
Introduction
This project provides a convenient way to perform MongoDB-like operations on JavaScript data collections using the Collection
class from the Mingo-Utilities library. It simplifies the process of querying, updating, and checking the existence of documents within your data.
Installation
To use this library in your project, you can install it via npm:
npm install agebrock-mimo
Usage
Import the Collection
class from the library as follows:
import { Collection } from "agebrock-mimo";
Example Usage
Suppose you have a collection of data and want to perform various operations on it. Here's an example of how to use the Collection
class in your code:
import { Collection } from "agebrock-mimo";
const data = new Collection([
{ a: 1, b: 2 },
{ a: 2, b: 2 },
{ a: 3, b: 4 },
]);
const result = data.find({ b: 2 });
const firstResult = data.findOne({ a: 1 });
const documentExists = data.exists({ a: 1 });
data.update({ a: 1 }, { $set: { c: 5 } });
Browser Usage
I recently added support for browser usage. To use this library in your browser, I did this for a personal project so please feel free to use it as you wish.
The client library is located in the dist/browser folder. Feel free to submit a pull request if you have any improvements. Or suggestions on how to improve it, since I
am not doing much client side development.
let result = mimo.collectionn([{a:1}]);
CommonJS Usage
Since 0.6 I have added support for commonjs usage.
const mimo = require('agebrock-mimo');
let collection = mimo.collection([{a:1}]);
In this example, we create a Collection
instance with sample data and use its methods (find
, findOne
, exists
, update
) for various operations. This allows you to easily work with collections and perform MongoDB-like operations in your code.
Contributions
Contributions are welcome! If you have any suggestions, bug fixes, or improvements, please feel free to open an issue or submit a pull request on GitHub.
License
This project is licensed under the MIT License - see the LICENSE file for details.
Credits
This project is powered by the Mingo library npm
Contact
If you have any questions or need further assistance, please fill an issue.