gpt4 book ai didi

couchdb - PouchDB 作为不同集合的实时数据工具

转载 作者:行者123 更新时间:2023-12-02 18:11:52 33 4
gpt4 key购买 nike

我正在考虑使用 PouchDB 作为自动更新用户在论文上提交的评论的解决方案。

它应该模仿订阅/发布服务的行为。每当有人在他的客户端中提交评论时,其他客户端上的评论列表就会自动更新。

这可以使用 PouchDB 实现,如入门指南中所述:

var db = new PouchDB('paper');
var remoteCouch = 'http://user:pass@mname.iriscouch.com/paper';

function sync() {
var opts = {live: true};
db.replicate.to(remoteCouch, opts, syncError);
db.replicate.from(remoteCouch, opts, syncError);
}

该应用程序包含不同的论文,每篇论文都有自己的评论。当使用 PouchDB 作为我的发布/订阅服务时,我有以下问题:

  • 以这种方式使用 PouchDB 是个好主意吗?

  • 如果我只想同步用户正在处理的当前论文的评论,我是否应该为每篇论文创建一个新数据库? (这也意味着我将失去从单个数据库查询所有论文中所有用户评论的可能性)

  • 有没有办法只同步数据库的一部分?这样我仍然可以使用数据库来保存所有评论,即使是针对不同的论文。

最佳答案

是的,PouchDB 可以很好地处理实时数据。它不使用网络套接字,但使用长轮询,这对于大多数用例来说已经足够快了。

听起来您可能应该为每篇论文创建一个单独的数据库,假设您想限制每篇论文的访问。 CouchDB 身份验证有点棘手,但基本上,如果您想控制读取访问权限,您可以为用户提供对整个数据库的完全读取访问权限或零读取访问权限。 There's a writeup here .

也不用担心创建数千个数据库; CouchDB 中的“数据库”很便宜。

我唯一建议的是,也许您会喜欢 relational-pouch plugin ,因为这样您就可以轻松地建立一个具有“论文”类型和“评论”类型的关系型数据库。

关于couchdb - PouchDB 作为不同集合的实时数据工具,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26004812/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com