加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MsSql教程 > 正文

sql – 在CouchDB中执行WHERE-IN查询

发布时间:2020-12-12 06:41:19 所属栏目:MsSql教程 来源:网络整理
导读:我想通过一次调用CouchDB来查询特定文档的列表. 使用SQL我会做类似的事情 SELECT *FROM database.tableWHERE database.table.idIN (2,4,56); 通过_id或其他字段在CouchDB中执行此操作的方法是什么? 解决方法 您需要使用视图键 query parameter来获取具有指定
我想通过一次调用CouchDB来查询特定文档的列表.

使用SQL我会做类似的事情

SELECT *
FROM database.table
WHERE database.table.id
IN (2,4,56);

通过_id或其他字段在CouchDB中执行此操作的方法是什么?

解决方法

您需要使用视图键 query parameter来获取具有指定集合中的键的记录.
function(doc){
    emit(doc.table.id,null);
}

然后

GET /db/_design/ddoc_name/_view/by_table_id?keys=[2,56]

要同时检索文档内容,只需在您的请求中添加include_docs = True查询参数即可.

UPD:您可能有兴趣通过此参考ID检索文档(2,56).默认情况下,CouchDB使用它们所属的文档查看“映射”发出的密钥.要调整此行为,您可以使用linked documents技巧:

function(doc){
    emit(doc.table.id,{'_id': doc.table.id});
}

现在请求

GET /db/_design/ddoc_name/_view/by_table_id?keys=[2,56]&include_docs=True

将返回带有id字段的行,该字段指向包含2,4和56个键的文档,以及包含引用文档内容的doc.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读