如何查询数组中的元素
How to query for an element in an array
以下文档存储在 CouchDB 中
{
{
"_id": "1",
"_rev": "3-2882a4696d580cdef754a93c7e5e77e7",
"comb": [
"4-5",
"4-6",
"5-6"
]
},
{
"_id": "2",
"_rev": "2-1991a898a5457308e3a89253e695cef5",
"comb": [
"4-5",
"5-6"
]
}
}
下面是地图函数
function(doc) {
emit(doc.comb, null);
}
仅 和 http://localhost:5984/comb/_design/snp/_view/by_test?key="4-6"
returns
{"total_rows":2,"offset":0,"rows":[
]}
如何找到数组中的元素?
您需要为数组的每个元素调用 emit
:
for (var i in doc.comb) {
emit(doc.comb[i], null);
}
然后您的查询将找到所有具有包含查询中指定键的梳状数组的文档。
以下文档存储在 CouchDB 中
{
{
"_id": "1",
"_rev": "3-2882a4696d580cdef754a93c7e5e77e7",
"comb": [
"4-5",
"4-6",
"5-6"
]
},
{
"_id": "2",
"_rev": "2-1991a898a5457308e3a89253e695cef5",
"comb": [
"4-5",
"5-6"
]
}
}
下面是地图函数
function(doc) {
emit(doc.comb, null);
}
仅 和 http://localhost:5984/comb/_design/snp/_view/by_test?key="4-6"
returns
{"total_rows":2,"offset":0,"rows":[
]}
如何找到数组中的元素?
您需要为数组的每个元素调用 emit
:
for (var i in doc.comb) {
emit(doc.comb[i], null);
}
然后您的查询将找到所有具有包含查询中指定键的梳状数组的文档。