Find file
Fetching contributors…
Cannot retrieve contributors at this time
35 lines (26 sloc) 1.43 KB


The couch-sqlite library allows easy moving of data from CouchDB into SQLite. The library provides two modes of operation; one-off and continuous.


Using it is quite simple. It provides one function, which accepts configuration options and returns a connection object. This connection has a run method which actually does the syncronization, and a map method which allow you to transform records after they've been read from CouchDB and before they're written to SQLite. Couch-SQLite automatically keeps track of the last record it's moved over, and only ports since that changes over when called.

The function takes the following parameters:

  • sqlite: path to the SQLite database. Does not need to actually exist -- couch-sqlite autocreates it.
  • table: SQLite table name.
  • schema: table schema, used when autocreating the table.
  • couchUri: The URI of the couch database. If couch is running on localhost, using the default port (5984) and the database name is sqlite_data this would be http://localhost:5984/sqlite_data.
var couchSqlite = require('couch-sqlite');

    sqlite: options.config.files + '/data.sqlite',
    table: 'data',
    couchUri: 'http://localhost:5984/sqlite_data',
}).map(function(doc) {
    if (doc._id.indexOf('Data') !== 0) {
        return false;

    return values = {
      ISO3: doc.ISO3