CouchDB:通过键值获取所有文档

0 投票
1 回答
702 浏览
提问于 2025-04-18 07:46

我刚接触CouchDB,所以请多包涵我不懂的地方。

这是我在集合中存储的一个文档的样子:

{
   "_id": "95e05530b594bf6b7fc5ef139e44abc1",
   "_rev": "1-b583386c66b5c1b705cecacb2ea5c435",
   "status": "active",
   "account_id": 1050004,
   "workflow": "{'hello': 'world'}"
}

我需要获取所有account_id等于1050004(或者其他任何传入的account_id)的文档。但我就是搞不清楚该怎么做。

1 个回答

1

创建一个视图,使用这样的映射器:

function(doc){
    emit([doc.account_id], null)
}

然后你可以通过 startkey=[account_id,]&endkey=[account_id,{}]&include_docs=true 来调用这个视图,其中的 account_id 替换成你想要获取文档的 ID。

一个很好的例子可以在 这里 找到,查看“查找多个”部分。

你也可以直接使用 key=[account_id]

我通常会使用数组,并同时使用 startkey 和 endkey,但这完全取决于你。

撰写回答