For our application we were using CouchDB 2.0 which I found to be easy and straight forward, something I cannot say for Couchbase yet. Due to a known replication issue between Couchbase Lite and CouchDB we are moving to Couchbase Enterprise 4.6 and Sync Gateway. Our application consists of a mobile app (Java) which uses Couchbase Lite and a web app written in Python. The mobile app replicates with Sync Gateway and that seems to be working but for the web site which will run in the same data center as Couchbase I’m not sure if we should use Couchbase directly on port 8092 or if we should also leverage Sync Gateway for accessing data. What are the pros/cons for each method? Also, if the web app uses Couchbase is there an authentication mechanism to authenticate the app other than the External Users/Roles?
if you use sync gateway 1.5 or higher, you can use Couchbase directly by enable XATTRs. FYI
if you enable XATTRs, the changed from Couchbase directly will trigger the channel allocation with sync gateway, and you can use N1QL to get/update document. but it will ignore the require* function .
FYI and this
Couchbase server only store user info, if you want to your app and web the same user certificate, you should use Sync Gateway authentication mechanism . you can Custom Authentication with this guide.