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

前端之家收集整理的这篇文章主要介绍了sql – 在CouchDB中执行WHERE-IN查询前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想通过一次调用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.

原文链接:https://www.f2er.com/mssql/78235.html

猜你在找的MsSQL相关文章