congress-mongodb

1.2.0 • Public • Published

congress-mongodb

npm version dependencies Status peerDependencies Status GitHub issues GitHub stars GitHub license

Table of contents

Dependencies

CLI

Integration

Install

# CLI 
yarn global add congress-mongodb
congress -h
congress fetch -h
congress sync -h
 
# Integration 
yarn add congress-mongodb
./node_modules/.bin/congress -h
./node_modules/.bin/congress-fetch -h
./node_modules/.bin/congress-sync -h

Use

Command - fetch

Download sitemaps, json, etc.

congress fetch
congress fetch -d tmp

Command - sync

Import data from files to mongodb in structured format

congress sync
congress sync -d tmp
congress sync -d tmp -u mongodb://localhost:27017/my-db # or $MONGODB_URI 

Integration - connection

Integrate mongoose models in your app

import congress from 'congress-mongodb';
import mongoose from 'mongoose';
 
// pass uri or set $MONGODB_URI
congress.connect(mongoose, uri)
  .then(db => {
 
    // current members
    db.Member.find({current: true})
      .then(m => {
        console.log(m.join('\n'));
      });
  });

Integration - models

Integrate mongoose models in your app with an existing connection

import congress from 'congress-mongodb';
import mongoose from 'mongoose';
const db = congress.models(mongoose);
 
db.Member.find({current: true, chamber: 'senate'})
  .skip(0)
  .limit(50)
  .exec()
  .then(senate => {
    console.log(`Current senators:\n${senate.join('\n')}`)
  })

Develop

npm link          # init project and link for development 
congress fetch    # download data 
congress sync     # import to mongodb (default mongodb://localhost:27017/congress) 

Todo

  • Implement options for more specific fetch/sync
  • Implement remove command

License

MIT

Package Sidebar

Install

npm i congress-mongodb

Weekly Downloads

25

Version

1.2.0

License

MIT

Last publish

Collaborators

  • hjboylan