我使用格式为
的复合键查看我的天气数据[ "District", "2018", "05", "23", "06", "00", "00" ]
在服务器上,我可以使用启动键和结束键查询一天的天气
startkey=[ "District","2018","05","23",null,null,null]
endkey=[ "District","2018","05","23","\u0fff","\u0fff","\u0fff"]
这为我提供了2018-05-23 区的所有天气。现在,在将文档同步到android上的couchbase lite之后,我试图复制键范围。 我试过了
startkey=arrayListOf("District","2018","05","23",null,null,null)
endkey=arrayListOf("District","2018","05","23","\u0fff","\u0fff","\u0fff")
但是这会返回一个空数据集。如何格式化我的密钥以复制我在服务器上所做的事情。
答案 0 :(得分:1)
Couchbase服务器和 Couchbase Lite 具有查询的语法差异,因为它清楚地描述了我们在服务器端构建复合键数组的方式,null已被解析为获取 endKey 中提供的 Unicode 与输出的字典正确值相同 假设您的复合键
[ "District", "2018", "05", "23", "06", "00", "00" ]
[ "DistrictName","year","month","day","hour,"minute","second"]
移动端可能有两个选项( Couchbase Lite )来查询此类复合键,因为不提供小时/分钟/秒的值 要么 null和Unicode的更多值表示:
自:
startkey=arrayListOf("District","2018","05","23",null,null,null)
endkey=arrayListOf("District","2018","05","23","\u0fff","\u0fff","\u0fff")
要:
startkey=arrayListOf("District","2018","05","23","00","00","01")
endkey=arrayListOf("District","2018","05","23","23","59","59")