- congress
- congress-legislators
- MongoDB^3.2.0
- 4GB RAM+ to sync
- mongoose^4.0.0
# 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
Download sitemaps, json, etc.
congress fetch
congress fetch -d tmp
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
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'));
});
});
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')}`)
})
npm link # init project and link for development
congress fetch # download data
congress sync # import to mongodb (default mongodb://localhost:27017/congress)
- Implement options for more specific fetch/sync
- Implement remove command
MIT