swift - Couchbase 接收 Channel null
问题描述
我正在使用带有 Sync Gateway 的最新 Couchbase 服务器。在客户端应用程序 swift 我推送这样的文档:
let userChannel = "\(self.login)"
config.channels = [userChannel, "zzzz", "nurse1"]
config.replicatorType = .pushAndPull
_pushPullRepl = Replicator.init(config: config)
_pushPullRepl?.start()
在服务器上,我收到了这个文件,但问题是
"channels": [
null
]
因此,当我尝试按通道提取文档时,我收到 0 个文档。
我这里有一个配置文件:
{
"log": ["*"],
"adminInterface": ":4985",
"databases": {
"dev": {
"num_index_replicas": 0,
"server":"http://localhost:8091",
"bucket": "dev",
"username": "admin",
"password": "adminadmin",
"users": {
"admin": { "disabled": false, "password": "adminadmin"},
"nurse2": { "disabled": false, "password": "adminadmin", "admin_channels": ["nurse2", "_nurse2","nurse1", "_nurse1"]},
"nurse1": { "disabled": false, "password": "adminadmin", "admin_channels": ["nurse1", "_nurse1", "nurse2", "_nurse2"] }
}
}
}
}
感谢您的回复。
编辑:
同步功能是
"sync":
`function(doc) {channel(doc.channels);}`
}
我得到了错误
2019-02-25 18:07:14.234729+0100 CouchbaseLiteTest[2474:1149779] CouchbaseLite 同步错误:{Push#1} 对 rev -YFzAmAK0VWolQcrIv2DiWH 1-a82becb9eacf1c02d0514aeb7f97cfcef98160b 同步错误响应错误(HTTP 异常 #4:HTTP 异常)功能'
我不再有错误但服务器上的频道仍然为空:(
解决方案
我找到了我与nurs1 和nurse2 连接的解决方案,所以我必须function(doc) {channel(doc.channels);}
像这样添加到这个用户
"users": {
"admin": { "disabled": false, "password": "adminadmin"},
"nurse2": { "disabled": false, "password": "adminadmin","sync":
`function(doc) {channel(doc.channels);}`, "admin_channels": ["nurse2", "_nurse2","nurse1", "_nurse1"]},
"nurse1": { "disabled": false, "password": "adminadmin","sync":
`function(doc) {channel(doc.channels);}`, "admin_channels": ["nurse1", "_nurse1", "nurse2", "_nurse2"] }
}
我还必须在像这样保存之前将频道添加到文档中
let channels = MutableArrayObject()
channels.addString("nurse1")
mutableDoc.setArray(channels, forKey: "channels")
_________编辑
不需要用户级别的同步功能。
推荐阅读
- angularjs - 将按钮添加到 Angular 表格行
- telegram - 电报从频道中删除订阅者,如果他们没有设置他们的用户名
- c - 用于切换字符串的宏
- node.js - 为什么 res.json(data) 在像这样调用 res.json([data]) 时只返回完整的数据数组
- json - 查询 Hazelcast 中的 JSON 对象
- flutter - 没有得到多选底页的确切值
- reactjs - 如何查询具有不同属性的相同数据
- apache-flink - 在 Flink 中,为什么 DataStream 不支持聚合
- python - Ray 和 numba jit 不兼容
- video - 如何区分 AVCC 中的有效和无效 NALU?