Skip to content

Crawlo/mongodb

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 

Repository files navigation

@crawlo/mongodb

This package is designed to manage MongoDB connections globaly, it's useful if you have a project that has code splitted in multiple files and modules. All you need is just configure the database where you initiate your code, and require it in other files. I'll show you examples.

Example

import MongoDB from "@crawlo/mongodb";

MongoDB.configure("test", "mongodb://localhost:27017").then((database) => {
  const users = database.collection("users").find();
});

Also if your project is refactored into multiple files/modules you can access the client at MongoDB.client

Example

// models/getUsers.js
import MongoDB from '@crawlo/mongodb'

export default getUsers(limit = 20, skip = 0) {
  return MongoDB.client
    .collection('users')
    .find()
    .limit(limit)
    .skip(skip)
    .toArray()
}

Multiple databases

You can use @crawlo/mongodb to connect easily with multiple databases

Example

import MongoDB from "@crawlo/mongodb";

Promise.all([
  MongoDB.configureWithName("us", "myproject", "mongodb://us_server:27017"),
  MongoDB.configureWithName("eu", "myproject", "mongodb://eu_server:27017"),
]).then(([US_region, EU_region]) => {
  // get from US
  US_region.collections("files")
    .find()
    .forEach((file) => {
      // do our changes and insert to v2
      EU_region.collections("files").insertOne(file);
    });
});

if you want to access to us or eu databases from other files you can use MongoDB.getClient()

Example

// models/files.js
import MongoDB from '@crawlo/mongodb'

export default getFiles(region, limit = 20, skip = 0) {
  return MongoDB.getClient(region)
    .collection('files')
    .find()
    .limit(limit)
    .skip(skip)
    .toArray()
}

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published