CouchDb视图-在列表中键入
我想查询CouchDB,我有一个特定的需求:我的查询应该返回与此条件对应的文档的名称字段:id等于或包含在文档字段(列表)中。 例如,字段输出如下所示:CouchDb视图-在列表中键入,couchdb,Couchdb,我想查询CouchDB,我有一个特定的需求:我的查询应该返回与此条件对应的文档的名称字段:id等于或包含在文档字段(列表)中。 例如,字段输出如下所示: "output": [ "doc_s100", "doc_s101", "doc_s102", "doc_s103", ], 例如,我想获取输出字段“doc_s102”中包含的所有文档。 我在设计文档中写了一个视图: "backward_by_docid": {
"output": [
"doc_s100",
"doc_s101",
"doc_s102",
"doc_s103",
],
例如,我想获取输出字段“doc_s102”中包含的所有文档。
我在设计文档中写了一个视图:
"backward_by_docid": {
"map": "function(doc) {if(doc.output) emit(doc.output, doc.name)}"
}
但只有当输出字段中有唯一值时,此视图才起作用。
如何解决此查询
谢谢 您必须迭代数组:
if(doc.output) {
for (var curOutput in doc.output) {
emit (doc.output[curOutput],doc.name);
}
}
确保输出始终是数组(至少[])
。。当然,使用key=“xx”代替key=[“xxx”]