我想在 CouchDB 视图中重现此 SQL。
SELECT name,department FROM Persons where id = ? and group_id = ? ;
如何在 CouchDB 中为此 SQL 编写视图和查询视图?
我想在 CouchDB 视图中重现此 SQL。
SELECT name,department FROM Persons where id = ? and group_id = ? ;
如何在 CouchDB 中为此 SQL 编写视图和查询视图?
你可以写一个像这样的视图:
function(doc) {
if (doc.person_id && doc.group_id) {
emit([doc.person_id, doc.group_id], {"name":doc.name,"department":doc.department});
}
}
我将您的 id 更改为 person_id,因此它不能轻易与 _id 混淆
我使用数组作为视图的键,因此您可以像这样轻松查询它:
http://127.0.0.1:5984/testdb/_design/designdoc/_view/testview?key=[12,3]
这或多或少类似于这个查询:
SELECT name, department FROM Persons where person_id = 12 and group_id = 3 ;
这是一篇关于使用视图进行过滤和排序的文章:http: //barkingiguana.com/2009/01/22/filtering-and-ordering-couchdb-view-results/
couchdb wiki 中有一个非常好的关于视图的页面:http ://wiki.apache.org/couchdb/HTTP_view_API
couchdb 指南中的这一章解释了数组键: http: //guide.couchdb.org/draft/views.html