我希望在couchDB中使用长轮询选项,但不使用_changes视图。数据库具有以下观点:
function (doc) {
if(doc.job)
emit(doc._id, 1);
}因此,它会发出所有在文档中带有“作业”标签的文档。请注意,在这个DB中还有很多其他的东西。现在,我想使用一个长轮询,只要DB中没有带有作业标记的文档,连接就保持打开状态。一旦有带有作业标记的文档,db就会将其发送到客户端,并且应该关闭连接。客户端现在可以执行此任务,向db发送一个delete命令以删除作业,然后再次开始侦听。所以我的想法是把这个视图称为这样的:
http://mycouch/mydb/_design/visualize/_view/get_jobs?feed=longpoll&include_docs=true但是,似乎只有在_changes视图中才能使用长轮询。有什么解决办法吗?
谢谢你的帮助
发布于 2018-12-05 09:21:34
_changes是在您的情况下需要使用的提要。Yo可以使用它过滤提要,只接收对“作业”标记的文档的更改。您可以使用视图映射函数来完成此操作。
docs=true
您将通过这个提要接收数据库中“作业”标记的文档上的任何更新(创建/更新/删除)。
https://stackoverflow.com/questions/53614781
复制相似问题