I wish MongoDB, which seems to still have more love for it in the world than CouchDB/Cloudant, would have that replication built-in.
From a quick search online [0] [1], I see people doing offline MongoDB sync using SQLite, but nothing like using Mongo directly. With CouchDB, we can use either the old Couchbase native app SDK, or the Cloudant native app SDK, to sync up nicely with a CouchDB instance in the cloud. We've had this running for awhile, and it works quite well, and we do not have to shuffle information to and from a SQLite database... at least, we're not doing it, since the Cloudant or Couchbase SDKs for iOS and Android keep track of all the data and store it on the mobile device however they'd like.
If there is anything similar for Mongo, I'd be interested to know!
[0] https://stackoverflow.com/questions/23623295/how-to-make-an-... [1] https://stackoverflow.com/questions/13295960/sqlite-on-andro...
Whereas, Mongo only built support for classic RDMS-style replication where one database serves as the master or primary, and any number of secondaries can try to keep up with it.
It's a bit like SVN versus git. Mongo when replicated still has the SVN centralized mentality, whereas CouchDB is a lot more like git.
Compare Ref: http://docs.couchdb.org/en/stable/replication/intro.html