Skip to content

Node wrapper over mongorestore and mongodump binaries

Notifications You must be signed in to change notification settings

matheusAle/mongoutils

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

mongoutils

Intro

A utilities to make and restore backups via mongodump and mongorestore. mongodump and mongorestore must be installed on your system to use this.

You can assert of mongodump and mongorestore is present on system using the function checkInstalled exported by this module.

import { checkInstalled } from 'ale-mongoutils';
...

const isInstaled: boolean = await checkInstalled();

Including

import  { checkInstalled, createDumpCommand, createRestoreCommand, executeCommand } from 'ale-mongoutils';

API

createDumpCommand(options: Credentials): Array

Generate the mongodump command.

export interface Credentials {
    database: string,
    dist: string,
    host: string,
    username?: string,
    password?: string,
    collections?: Array<{ name: string, query?: string }>,
    authenticationDatabase?: string,
}
import  { createDumpCommand } from 'ale-mongoutils';

let commands = createDumpCommand({ database: 'test', host: 'mongodb://localhost:27017', dist: './temp' });
// [ 'mongodump --db test --host mongodb://localhost:27017 --out ./temp' ] 

This function return a array of commands strings for all item in collections array on options. The query key of collections must ve a valid string of mongo find. see: https://docs.mongodb.com/manual/reference/program/mongodump/#cmdoption-mongodump-query

createRestoreCommand(options: Restore)

Generate the mongorestore command.

export interface Restore {
    database: string,
    username?: string,
    password?: string,
    from: string,
    host: string,
    drop?: boolean,
    collections?: Array<{ name: string }>,
    authenticationDatabase?: string,
}
import  { createRestoreCommand } from 'ale-mongoutils';

let commands = createRestoreCommand(createRestoreCommand({ database: 'target-database', from: './temp/<from-db>', host: 'mongodb://localhost:27017' }));
// [ 'mongorestore --db target-database --host mongodb://localhost:27017 --dir ./temp/<from-db>' ]

This function return a array of commands strings for all item in collections array on options. The query key of collections must be a valid string of mongo find. see: https://docs.mongodb.com/manual/reference/program/mongorestore/

executeCommand(command: string, out: Function, err: Function): Promise

Execute a generated command.

import  { executeCommand } from 'ale-mongoutils';

executeCommand(commandString, function(out) { console.log("OUT", out); }, function(err) { console.log("ERROR", err); })
.then(function(result) {
  console.log(result);
})
.catch(function(error) {
  throw error;
})

About

Node wrapper over mongorestore and mongodump binaries

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 50.0%
  • TypeScript 50.0%