Couchdb 如何编写从数组中请求多个项的查询?
以下是一个示例文档:Couchdb 如何编写从数组中请求多个项的查询?,couchdb,Couchdb,以下是一个示例文档: { "_id": "7d7db310ff3acc857c7f301f67979de5", "_rev": "1-3ed97634540c35292155ad40b99cafc1", "interests": [ "cats", "dogs", "fish", "reptiles" ], "gender": "male", "phone": "716-555-011
{
"_id": "7d7db310ff3acc857c7f301f67979de5",
"_rev": "1-3ed97634540c35292155ad40b99cafc1",
"interests": [
"cats",
"dogs",
"fish",
"reptiles"
],
"gender": "male",
"phone": "716-555-0111"
}
我想要一个在数组中查找多个项的查询
例如,假设我想要一个在“兴趣”下同时列出“猫”和“狗”的人的列表。您可以创建一个只包含猫和狗的文档的二级索引。您可以创建一个简单的视图,例如带有映射功能的“按兴趣”
function(doc) {
if (doc.interests)
doc.interests.forEach(function(interest){
emit(interest, doc)
})
}
然后查询结果
我不太明白你的意思。您是指文档中的内容吗?在这种情况下,这是没有帮助的。如果您指的是在查询中创建某些内容,我不确定如何进行。我在临时视图中尝试了一下,但得到了以下错误:表达式不向函数求值。(function(doc){if(doc.interests)doc.interests.forEach(function(interests){emit(interests,doc}}}})谢谢,脚本可以工作,但它的工作方式类似于“OR”而不是“AND”,也就是说,如果一个人喜欢猫而不是狗,它们仍然会出现在列表中