Couchdb/Pouchdb多个用户和多个文档之间的关系
Couchdb / Pouchdb Relation between multiple users and multiple documents
我有一个问题:我正在用离子frmaework构建一个移动应用程序,它需要能够离线工作。
我想采用CouchDB/PouchDB解决方案。但要做到这一点,我需要知道如何将我的数据放入noSQl数据库(之前的MySQL用户…)。所以,noSQl对我来说是新的,但它似乎很有趣。
所以我的应用程序有一个连接部分,所以有一个用户数据库。每个用户都有自己的文档。但是许多用户可以拥有许多文档(共享文档)。我想复制一个用户的数据(所以他的信息+他在移动应用程序上的文档)。
我想的是:
每个一个数据库。一个用于所有文档的数据库,带有服务器筛选功能,只发送属于用户的文档。
在客户方面,我只需要打电话给:
var localDB = new PouchDB("myuser");
var remoteDB = new PouchDB("http://128.199.48.178:5984/myuser");
localDB.sync(remoteDB, {
live: true
});
在客户端,我会有这样的东西:
{
username: "myuser",
birthday : "Date",
documents : [{
"_id": "2",
"szObject": "My Document",
},
{
"_id": "85",
"szObject": "My Document",
}]
}
你认为使用Couchdb和pouchdb可以实现这样的功能吗?如果可以,我的想法是否正确?我读到每个文档有一个数据库不是问题,但我不知道复制是否能像我想象的那样工作
Plain CouchDB没有任何按文档访问的选项,但这些可能是您的解决方案:
A。创建一个视图,然后使用过滤器同步"包到沙发"。但是,尽管这只会同步用户应该看到的文档,但任何有足够知识的人都可以修改代码并查看其他人的文档,或者只是对数据库做任何事情(可能不是你想要的)。
B。创建一个包含所有文档的master DB,然后为每个用户创建一个数据库,并在master和amp;每个用户的dbs。这可能是最简单、最恰当的处理方式。
C。不幸的是,没有validate.doc_read(因为有validate.doc_update),但也许你可以制作一个简单的HTTP代理,它可以解析传入的JSON,检查特定用户是否可以查看它,如果不能,则抛出403 Forbidden。您还必须捕获任何查询include_docs=true的视图。
(回复晚了,我希望它仍然有用-如果没有,那就是你找到了一个很好的问题解决方案)
- JSDoc:模块和名称空间之间的关系是什么
- html5视频播放器和视频js之间的关系
- 两个集合mongodb之间的关系
- angular2@组件和类之间的关系
- 在Knockout.js模型中创建项之间的关系
- Angular 2,在没有直接关系的两个组件之间共享一个对象
- 视图和路由器之间的主干关系
- JavaScriptV5中的绑定和JQuery之间有任何关系吗
- 高图 - 分组/近似后保持多个系列之间的关系
- 父关系指令和子关系指令之间的绑定
- 绘制的节点和Google图表/可视化中的数据节点之间的关系
- 如何解决存储中操作之间的依赖关系
- 负载角度依赖关系之间的区别是什么,共享模块的最佳方式是什么
- 如何管理原始对象之间的数据依赖关系
- undercore.js-包含和减少之间的关系
- 如何在不让web组件的原型进入全局命名空间的情况下维护它们之间的依赖关系
- 具有表之间关系的AngularJS资源
- 在js中维护元素组之间关系的最佳实践
- 描述JavaScript中成员和容器之间关系的最佳术语
- 在reactjs中给出babel和node.js之间关系的细节