gpt4 book ai didi

Couchbase:根据条件同步数据

转载 作者:行者123 更新时间:2023-12-04 09:55:15 25 4
gpt4 key购买 nike

我正在构建聊天应用程序,移动应用程序用户可以在其中将数据保存在他的设备上。我们尝试仅将与用户相关的数据从服务器同步到客户端(couchbase 服务器到 couchbase 移动设备)。但是从使用 swift 的移动设备,所有 Bucket 都从服务器存储到移动内部数据库。我的同步 json 是

{
"interface": "192.168.0.68:4984",
"adminInterface": "192.168.0.68:4985",
"pretty": true,
"log": ["*"],
"databases": {
"db": {
"server": "http://192.168.0.68:8091",
"bucket": "travel-sample",

"username":"himanshu",
"password":"123456",
"users": {
"himanshu": {
"password": "123456",
"admin_channels": [
"*"
]
}
},
"sync":`
function (doc) {
console.log("doc=================================================================>")
channel (doc.channels);
}
`
}
}}

服务器可能只将相关数据发送到手机进行同步。

最佳答案

这可以通过为每个用户正确配置 channel 来定义访问权限并限制用户来实现。

允许同步功能允许用户根据文档内容访问 channel

在这种情况下,当您创建文档时,它的属性应该指示特定用户已创建/编辑,并基于此启动同步功能以进行复制。

根据给定用户感兴趣的文档类型创建一个标签数组,以便在移动设备上复制并将其传递到您的同步功能中

{ 
"tags" : [
"fashion",
"outing",
"shopping"
]
}

和同步功能类似于

function(doc) {
channel(doc.tags);
}

在客户端通过使用内置的复制API同步相关的用户内容,设置用户的主题兴趣以拉取相关数据。然后,复制器将与来自 channel 的数据进行交互。像在 Objective-C 代码中一样创建拉取复制

CBLReplication *pull = [database createPullReplication: url];
pull.channels = @[@"outing",@"shopping"];
[pull start];

如果我们没有设置特定 channel ,那么可能所有存在的数据都将从 Sync Gateway 中提取。

关于Couchbase:根据条件同步数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50369760/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com