-->

在couchbase精简版视图查询多个键(Query multiple keys in couchb

2019-10-23 17:33发布

您好我是新来couchbase / couchbase - 精简版和我尝试查询与没有成功多个键的视图。 她是地图功能的外观:

public void map(Map<String, Object> doc, Emitter emitter) {
    if (doc.get("type").equals("my_type") {
        List<Object> keys = new ArrayList<Object>();
        keys.add(doc.get("key_1"));
        keys.add(doc.get("key_2"));
        emitter.emit(keys, null); 
    }   
}

我的问题是,我需要或者只与key_1或key_1的组合来查询视图和key_2像这样

List<Object> keys = new ArrayList<Object>();
keys.add(key_1);
if (key_2 != null) keys.add(key_2);
query.setKeys(keys);
results = query.run()

然而结果总是空。 我忽略了什么?

Answer 1:

两个发射不起作用。 如果你给一个setKeys的ArrayList()方法,在列表中的每个关键匹配发出的每个关键。 如果你想匹配的两个键,增加键ArrayList中到另一个目录。 然后将它传递到setKeys()方法。 像这样,

List<Object> keys = new ArrayList<Object>();
List<Object> allKeys = new ArrayList<Object>();
keys.add(key_1);
if (key_2 != null) keys.add(key_2);
allKeys.add(keys);
query.setKeys(allKeys);
results = query.run();


Answer 2:

这是解决方案,我们需要密钥添加到另一个List<Object> https://github.com/couchbase/couchbase-lite-android/issues/740



文章来源: Query multiple keys in couchbase lite view