如何将两个参数值传递给 couchdb 视图?

发布于 2024-11-02 09:13:53 字数 163 浏览 1 评论 0原文

我想在 CouchDB 视图中重现此 SQL。

SELECT name,department FROM Persons where id = ? and group_id = ? ;

如何在 CouchDB 中为此 SQL 编写视图和查询视图?

I want to reproduce this SQL in CouchDB views.

SELECT name,department FROM Persons where id = ? and group_id = ? ;

How do I write a view and query view in CouchDB for this SQL?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

烟柳画桥 2024-11-09 09:13:53

您可以编写这样的视图:

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

You could write a view like this one:

function(doc) { 
  if (doc.person_id && doc.group_id) { 
    emit([doc.person_id, doc.group_id], {"name":doc.name,"department":doc.department});
  }
} 

I changed your id to person_id so it cannot be easily confused with _id

I used an array as key for the view, so you can easily query it like this:

http://127.0.0.1:5984/testdb/_design/designdoc/_view/testview?key=[12,3]

This would be more or less like this query:

SELECT name, department FROM Persons where person_id = 12 and group_id = 3 ;

Here is an article about filtering and ordering with views: http://barkingiguana.com/2009/01/22/filtering-and-ordering-couchdb-view-results/

There is a very good page in the couchdb wiki on views: http://wiki.apache.org/couchdb/HTTP_view_API

This chapter in the couchdb guide explains array keys: http://guide.couchdb.org/draft/views.html

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文