通过Couchbase同步网关Webhook将API文档转换为API

时间:2016-11-03 06:37:58

标签: couchbase webhooks couchbase-sync-gateway

我在同步网关中使用webhook事件处理程序。每当特定文档同步时,它都会作为请求发送到API。现在,我尝试在Doc属性中进行一些更改来升级Doc。我的问题是文档被更新,但是同一文档被同步并作为请求发送到完成upsert的API。循环无限次,直到我停止我的API服务器。

我的目标是通过webhook更新作为API请求的文档,然后将其存储在主DB服务器中。

如果有办法,请告诉我。

这是我的webhook配置。

"event_handlers":{
                "document_changed":[
                {       "handler":"webhook",
                        "url":"http://localhost:5000/checkInvoiceSequence",
                        "filter":` function(doc) {
                                if(doc.channels){
                                    if(doc.type == "invoice"){
                                        return true;
                                    }
                                }
                                return false;
                        }`
                }
                ]
        }

我试图将API中的相同文档升级到主数据库服务器。

TIA。

1 个答案:

答案 0 :(得分:0)

你正试图追踪状态,所以你必须在某个地方做。我想到了两种方法。

  1. 向doc添加一个属性,该属性标记是否通过API发送它以进行处理,或者是否已准备好进行处理。

  2. 以某种方式跟踪修订版ID,以便您的API服务器可以进行比较以确定它之前是否已经看过该文档。