如何在Couchbase同步网关中刷新存储桶

如何在Couchbase同步网关中刷新存储桶,couchbase,couchbase-sync-gateway,Couchbase,Couchbase Sync Gateway,Couchbase服务器有一种方法,可以删除名为的bucket中存储的所有数据。它通过以下命令调用: POST /pools/default/buckets/[bucket-name]/controller/doFlush 当我尝试使用同步网关API调用此函数时,它返回以下错误: {'error': 'not_found', 'reason': 'unknown URL'} 同步网关确实有一种方法,但该操作只会从配置文件中删除bucket。它实际上并不删除与其关联的记录。有没有办法刷新同步网

Couchbase服务器有一种方法,可以删除名为的bucket中存储的所有数据。它通过以下命令调用:

POST /pools/default/buckets/[bucket-name]/controller/doFlush
当我尝试使用同步网关API调用此函数时,它返回以下错误:

{'error': 'not_found', 'reason': 'unknown URL'}

同步网关确实有一种方法,但该操作只会从配置文件中删除bucket。它实际上并不删除与其关联的记录。有没有办法刷新同步网关,或者作为备用删除存储的数据?

首先,请了解同步网关中的数据库和Couchbase服务器中的Bucket是不同的

同步网关无法刷新bucket,因为它是存在bucket的Couchbase服务器之外的独立实体,并且它没有刷新甚至删除bucket的权限同步网关中的数据库只是指在Couchbase服务器中创建的引用bucket的对象

doFlush不适用于同步网关,因为它属于Couchbase服务器API而不是同步网关API

对于同步网关版本1.*,由于同步相关元数据与主存储桶或影子存储桶中的数据一起存储,因此刷新这两个存储桶将删除同步相关数据。现在,由于同步相关元数据存储在XAttrs中,因此刷新存储桶不会删除XAttrs,从而导致后续更改