gpt4 book ai didi

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

转载 作者:太空狗 更新时间:2023-10-30 01:45:48 26 4
gpt4 key购买 nike

我想通过一次调用 CouchDB 来查询特定文档的列表。

使用 SQL 我会做类似的事情

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

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

最佳答案

您需要使用 View query parameter获取包含指定集合中的键的记录。

function(doc){
emit(doc.table.id, null);
}

然后

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

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

UPD:您可能有兴趣通过此引用 ID (2,4,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,4,56]&include_docs=True

将返回带有 id 字段的行,该字段指向包含 2456 键的文档,并且doc 一个包含引用文档内容的文档。

关于sql - 在 CouchDB 中执行 WHERE - IN 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12763430/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com