Using PouchDB with MongoDB

PouchDB contributor here. 🙂 This is actually a question we get a lot, and it’s understandable, given the popularity of MongoDB.

The short answer is: no, there’s no way to get a PouchDB that you can just plug into your existing MongoDB database. You might want to try Meteor.js instead.

The long answer is that CouchDB and MongoDB are not equivalent, and in particular CouchDB is designed from the bottom-up to be used for synchronization. There’s a good write-up by Jan Lenhardt that explains how it works. Part of the magic of PouchDB/CouchDB sync comes from this design, which Mongo does not have.

In fact, even if PouchDB used Mongo as a backend (which is not outside of the realm of possibility; we already support Redis and Riak), you would not be able to use your existing database as-is, since PouchDB would need to reconstruct this revision-handling schema over Mongo. Hence you would have to rewrite your app to use the PouchDB/CouchDB API.

Update: PouchDB will soon support a Mongo-like query language, via the pouchdb-find plugin.

Leave a Comment