🚀 Big News: Socket Acquires Coana to Bring Reachability Analysis to Every Appsec Team.Learn more
Socket
Sign inDemoInstall
Socket

spawngo

Package Overview
Dependencies
Maintainers
1
Versions
3
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

spawngo

Spawn a child process for mongoimport/export

2.0.0
latest
Source
npm
Version published
Weekly downloads
34
385.71%
Maintainers
1
Weekly downloads
 
Created
Source

spawngo

A wrapper to spawn mongoimport/export processes

usage

const Spawngo = require('spawngo')

// create a new instance
let spawngo = new Spawngo({
  user: 'foo',
  pw: 'bar',
  'collection': 'bang'
})
// call #import() function and pass a file to import into mongoDb
// this will return a child process object
let childProcess = spawngo.import('my.json')

// handle events as needed
childProcess.stdout.on('data', function (data) {
  // block to handle stdout
})

childProcess.stderr.on('data', function (data) {
  // block to handle stderr
})

childProcess.on('close', function (data) {
  // block to handle close
})

Note that mongoDb sends ALL status updates to stderr, so to better determine if your process was successful, you should ensure the status code from theclose event returned a 0, and not rely on stderr.

Exporting is nearly identical to the above, but instead of import(), you would call export() to export the collection as defined when spawngo was instantiated, or updated using .set()

let childProcess = spawngo.export()

If you wish to export a different collection, but not alter the internal configurated collection, you can pass a string of the target collection,:

let childProcess = spawngo.export('collectionName')

api

Constructor(options) options (Object): Configuration object. Allowed properties are as follows (displayed with default values)

  • host: 'localhost'
  • user: ''
  • pwd: ''
  • db: ''
  • collection: ''
  • jsonArray: true
  • upsertFields: undefined
  • cpus: [default is number of machine's cpu cores]
  • drop: false

Instead of passing options to constructor, you can also apply your settings by using the .set() function.

If no user and password are set, then the call to mongoimport will not use authentication.

import(fileName)

fileName (String): Path of the json/csv/tsv file to import

returns: ChildProcess of the spawned query.

export(collection)

collection (String [optional]): Name of the collection to export. The exported json file will be named after the collection (i.e collectionName.json).

The string aurgument is optional. Not passing a string will use the collect as defined internally either via the constructor settings, or from using .set().

Note that passsing a collection string in this manner will NOT alter the internal configuration.

returns: ChildProcess of the spawned query.

set(optsObj or key, value)

optsObj (Object): Configuration object. See Constructor above to see all available options.

key (String), value (String): to update a single congiguration property, you may pass a key/value pair of strings as an argument: spawngo.set('collection', 'myThings').

returns: The spawngo instance.

Keywords

mongodb

FAQs

Package last updated on 14 Jan 2017

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts