我正在使用couchbase lite android。 我有一系列文件,每个文件都包含一个字段,它的值是字符串数组。 现在我想过滤这个字段的值。
{
type : "customer",
name: "customerX",
states: [ "IL" , "IO" , "NY" , "CA" ]
},
{
type : "customer",
name: "customerY",
states: [ "WY" , "CA", "WA" ]
},
{
type : "customer",
name: "customerZ",
states: [ "NY" ]
}
我想获得有" CA"在他们的州领域。 我正在使用CBL Android。
emit(states , null);
然后我如何制作我的开始和结束键选项。
startkey("CA")
Or
startKey(["CA"])
customerX customerY
我怎样才能通过" CA"来获得customerX和customerY?在他们的州领域?!
答案 0 :(得分:0)
如果你只想过滤一个状态,那么你最好的解决办法就是建立一个这样的观点:
function (doc, meta) {
if(doc.type && doc.type == "customer") {
if(doc.states) {
for (index = 0, len = doc.states.length; index < len; ++index) {
emit(doc.states[index],null);
}
}
}
}
此视图将为每个类型为&#39; customer&#39;的文档的数组中的每个州发出一个视图行。这意味着您可以选择一个单独的状态,其启动键为&#34; CA&#34;并且&#34; CA&#34;的结束键,记得将inclusive_true标志设置为true,以便包含匹配的结束键:
startkey="CA"&endkey="CA"&inclusive_end=true
希望有所帮助!