A partial dumper helper for a mongoose environment.
This package will aid developers to create partial dumps of a mongoDB database using mongoose. Making possible to easily dump only documents related to specifics functionalities of a bigger project.
npm install -g mongoose-partial-dumper
npm install mongoose-partial-dumper
yarn add mongoose-partial-dump
Responsible for write dump files or log dump json
- Create a partial-dump.config.{ts, js} file
yarn partial dump <collectionName> [id] [outputDir]
Install: | type: | Description: | Required: | example: |
---|---|---|---|---|
db | object | database input configurations | true | {url: ''} |
db.url | string | database url configurations | true | mongodb://localhost:27017/dumper-example |
models | Model[] | Mongoose Model list | true | {models: [User]} |
getPayload | function | Function that returns a Model.find() Object | false | {_id: , company: } |
outputDir | string | database input configurations | false | 'dump.json' |
anonymize | object | anonymize info object, data anonymization | false | {field: 'name', type: 'name'} |
anonymize.field | string | input to dumper know which fields to anonymize | false | 'name', 'phone', 'address', etc... |
anonymize.type | enum | input to dumper know which type the field is | false | 'name', 'phone', 'address', etc... |
- name
- phone
- address
- avatar
- birthdate
- creationDate
- companyName
Input: | type: | Description: | Required: | example: |
---|---|---|---|---|
collectionName | string | Main collection name to be base of your dump | true | 'User' |
id | string | If given, dump will priorize this input to return all documents related | false | '60b40699c73c9095df00c22b' |
outputDir | string | Path to file to be created or overwriten | false | 'dump.json' |
Input: | type: | Description: | Required: | example: |
---|---|---|---|---|
--log | string | If this option is given, no file will be generated, instead a log will show on console | false | 'User' |
Responsible for read dump files and import to your database
- Create a partial-dump.config.{ts, js} file
yarn partial restore [inputDir]
Install: | type: | Description: | Required: | example: |
---|---|---|---|---|
db | object | database input configurations | true | {url: ''} |
db.url | string | database url configurations | true | mongodb://localhost:27017/dumper-example |
models | Model[] | Mongoose Model list | true | {models: [User]} |
inputDir | string | Path to file to be restored (imported to your database) | false | 'dump.json' |
Input: | type: | Description: | Required: | example: |
---|---|---|---|---|
inputDir | string | Path to file to be restored (imported to your database) | false | 'dump.json' |
- Mongoose partial dumper example - https://github.com/Streeterxs/mongoose-partial-dump-example (use the scripts in package.json to make your tests easier)
- Mongoose partial monorepo example https://github.com/Streeterxs/mongoose-partial-monorepo-example (example usage in a monorepo environment)