我通过Api连接到同步门方式,但是我不知道如何过滤一些数据并在我的laravel项目中使用它们。
答案 0 :(得分:0)
您不是在syncgateway配置中按通道进行过滤,该过滤是同步功能的结果,但更多是将通道附加到文档的被动结果。 我不知道您使用的是哪个版本,因为您的问题缺少它,但是配置非常简单。
基本上,您有2种选择将通道附加到文档,第二种是覆盖第一种: 1.配置文件中没有任何同步功能,仅依赖于“ channels”属性,该属性将使文档同步到适当的通道。 例如:
{ "name": "Duke", "lastName": "Nukem", "channels": ["DukeNukem","Duke"] }
2。在配置文件中具有同步功能: 对于文档: {“ name”:“ Duke”,“ lastName”:“ Nukem”}
您可能具有将执行相同操作的同步功能:
function(doc, oldDoc){
if (doc.name && doc.lastName) {
channel(doc.name);
channel(doc.name + doc.lastName);
}
}
请注意,您必须授予用户访问频道的权限。
在客户端,您需要具有该权限的用户,并且如果您不筛选频道-同步时将获得文档。
请阅读更多here
答案 1 :(得分:0)
这是客户端上的一个Swift示例,说明如何使用“通道”路由数据:
let manager = CBLManager()
let database = try! manager.databaseNamed(dbName)
let pull = self.database.createPullReplication(url)
// We need to sync channels
pull.channels = ["somechannels"]
pull.start()
在Store
管理应用程序上的一个具体示例,属于商店的每个文档将通过包含storeID
的通道进行保存。
在客户端,同步时,我们会将storeID
放在channels
内,以便同步将仅获取属于该Store
的文档。 (我们正在使用默认的同步功能)
请注意,您需要考虑到安全问题,请阅读更多here。