https://github.com/onesy-me/mongo
Mongo
https://github.com/onesy-me/mongo
amaui back-end backend express expressjs javascript js mongo mongodb node nodejs typescript utils web
Last synced: 5 months ago
JSON representation
Mongo
- Host: GitHub
- URL: https://github.com/onesy-me/mongo
- Owner: onesy-me
- License: mit
- Created: 2022-02-03T16:05:19.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2025-11-05T17:41:42.000Z (8 months ago)
- Last Synced: 2025-11-05T19:39:14.042Z (8 months ago)
- Topics: amaui, back-end, backend, express, expressjs, javascript, js, mongo, mongodb, node, nodejs, typescript, utils, web
- Language: TypeScript
- Homepage: https://docs.onesy.me/library/mongo
- Size: 121 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
onesy Mongo
MIT license
Production ready
100% test cov
Nodejs
Very simple code
Modern code
Junior friendly
Typescript
Made with :yellow_heart:
### Add
```sh
yarn add @onesy/mongo
```
Add `mongodb` as a peer dependency
```sh
yarn add mongodb
```
### Use
```javascript
import { Mongo, BaseCollection } from '@onesy/mongo';
// Make if you wanna a config file and
// inside of it add all the process.env related props
import Config from './config';
// Make a new mongo instance
const mongo = new Mongo({
uri: Config.db.mongo.uri,
name: Config.db.mongo.name,
});
await mongo.connection;
// Make a collection class
class TodoCollection extends BaseCollection {
public constructor() {
super('todos', mongo);
}
}
const todoCollection = new TodoCollection();
// Add
const todoCreated = await todoCollection.addOne({
name: 'todo',
description: 'description'
});
// Find one
const todo = await aCollection.findOne({
_id: todoCreated._id
});
todo;
// {
// _id: ObjectId('407f191e810c19729de860ea'),
// name: 'todo',
// description: 'description',
// added_at: 1777044477
// }
// etc.
```
### Dev
Install
```sh
yarn
```
Test
```sh
yarn test
```
#### One time local setup
Install docker and docker-compose
- https://docs.docker.com/get-docker
- https://docs.docker.com/compose/install
Make docker containers
```sh
yarn docker
```
(mac) Add lines below to */private/etc/hosts*
```
127.0.0.1 mongo1
127.0.0.1 mongo2
127.0.0.1 mongo3
127.0.0.1 mongo1-test
127.0.0.1 mongo2-test
127.0.0.1 mongo3-test
```
### Prod
Build
```sh
yarn build
```