请求反馈:使用客户端复制(pouchdb)为多个用户/帐户设置Couchdb

在进入开发阶段之前,我希望获得关于我正在考虑的改变的反馈意见,从mongo移动到沙发。

基本上我有一个webapp,用来帮助组织用户活动(todolist,日历,笔记,日记)。 它目前使用mongodb,但我正在考虑将其移动到沙发上,主要是由于沙发的复制能力和clientdb交互(pouchdb)。 我在浏览器上使用了localstorage,在mongo的支持下有一个类似的本地安装,但是我正在寻找一个更成熟的解决scheme。

由于couchdb与mongodb不同,我想每个用户都应该有自己的沙发数据库,​​他们的文档是我的每个应用程序组件。 基本上我必须通过本地数据库复制以及安全性来将所有事情都提高一级。

我有3个问题。

1)我认为沙发没有文档级别的安全/authentication,对吗? (因此,我把每个用户的资产移动到他们自己的数据库,好主意?)

2)我的计划是有用户login到网站,然后我的后端nodejs代码validation他们,并发送一些auth /会话令牌。 然后,客户端上的javascript使用其本地pouchdb数据来设置自身,并将复制请求直接发送到couchdb服务器(使用从服务器端进程获得的auth令牌)。 他们应该只能访问他们的数据库,因为我可以做每个数据库身份validation访问(正确?)你怎么看待这个设置? 它应该工作?

3)关于couchdb服务提供商,为什么他们的沙发版本差异如此之大? IE,happycouch,1.6.1,虹膜1.5,cloudant,1.0.2? 而且我也听说有关couchdb 2.0即将推出…我想要使用cloudant,但1.0.2是从1.6或1.5以上的版本,如果我没有做任何异国情调,这有什么关系?

奖金问题:从上一个问题继续,你知道任何服务,主机node.js和本地实例的couchdb可用? 我想用我的后端服务器代码作为代理,但不以牺牲另一个networking跳跃为代价。

保罗,非常感谢你的反馈

由于couchdb与mongodb的不同,我想每个用户都应该有自己的沙发db

这是一个CouchDB最佳实践。 好的select。

我假设沙发没有文档级别的安全/authentication,对吗? (因此,我把每个用户的资产移动到他们自己的数据库,好主意?)

你是正确的: https : //github.com/nolanlawson/pouchdb-authentication

我的计划是有用户login到网站…

是的。 你可以直接从Node.js传递cookie头到CouchDB,它会正常工作。 纳米有一些文件如何做到这一点: https : //github.com/dscape/nano#using-cookie-authentication

关于couchdb服务提供商,为什么他们的沙发版本差异如此之大

沙发社区是一个大幸福分散的家庭。 🙂

我想用cloudant,但是如果我没有做任何异乎寻常的事情,1.0.2是从1.6还是1.5的很多版本,这有什么关系吗?

1.0.2是指Cloudant分叉CouchDB时。 自那时起,他们已经添加了很多自己的function,现在它们已经相当于function相当。

各种Couch实现之间的最大区别在于身份validation。 每个人(Cloudant,CouchDB,Couchbase)都有不同的performance。