Couchdb获取每个更改通知的更改文档
问题描述:
我很确定我希望通过插入的文档通过沙发数据库中的每个插入通知。Couchdb获取每个更改通知的更改文档
是这样的:
http://localhost:5058/db-name/_chnages/_view/inserted-document
而且我喜欢的反应是类似以下内容:
{
"id":"0552065465",
"name":"james"
.
.
.
}
重新连接到数据库的每个通知给实际的文件可能会导致性能问题。
我可以定义一个视图,通过每次更改返回实际文档吗?
答
有3种可能的方式,如果刚刚添加的文档定义:
- 你的状态字段添加到您的文档与新文档特定的状态。
- 如果修订以
1-
开头,但如果您执行复制,则根据this它不是100%准确。 - 在更改响应中,检查文档的修订版本号是否等于1。如果是这样,这意味着它只是加入(最佳解决方案IMO)
如果你要查询的_changes终点,并直接获得新插入的文件,您可以使用方法#1和使用过滤功能,只有返回status =“new”的文档。
否则,您应该使用方法#3并在本地过滤_changes响应。例如:您的应用程序将收到所有更改,并且只处理修订版本计数等于1的文档。
而且正如您所提到的,您希望接收文档,而不仅仅是_id和_rev。为此,您可以简单地添加查询参数:include_docs=true
只是要清楚,您希望仅接受来自新文档插入的更改?或者,您想要查看特定文档的更改吗? –
@AlexisCôté:我想要插入“DOCUMENT”。而不是插入文档的“Id”和“rev”。 – Mohsen