我想通过一次调用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.jb51.cc/mssql/78235.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。