我想通过调用CouchDB查询特定文档的列表。
使用SQL,我会做类似的事情
SELECT *
FROM database.table
WHERE database.table.id
IN (2,4,56);
在CouchDB中按_id
一个字段或另一个字段执行此操作的诀窍是什么?
您需要使用viewskeys
查询参数来获取具有指定集中键的记录。
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视图使用它们所属的文档“映射”发出的密钥。要调整此行为,您可以使用链接文档技巧:
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
字段点记录保存2
,4
和56
键和doc
一个包含引用文档内容。
问题内容: 我正在尝试执行这样的查询: 问题是我要过滤的ID列表不是恒定的,并且每次执行时都必须不同。我还需要转义这些id,因为它们可能来自不受信任的来源,尽管我实际上将转义查询中的所有内容,而不管该来源的可信度如何。 节点的Postgres似乎与绑定参数专门工作:; 如果我具有已知数量的值(),这将起作用,但不能直接用于数组:,因为似乎对数组参数没有任何特殊处理。 根据数组中的项目数动态构建查询
问题内容: 我在从Python内部执行某些SQL时遇到了问题,尽管类似的SQL在命令行中也能正常工作。 该表如下所示: 我可以从mysql命令行执行以下SQL查询,而不会出现问题: 但是,当我尝试在Python中执行相同操作时,没有任何行,而我希望有2行: 所以,问题是:应该如何Python代码进行修改,以选择那些S其中是? 顺便说一句,我注意到,如果我切换的角色和,我可以得到代码选择那些S其中是
问题内容: 我已经开发了使用OR查询的系统: 与查询IN进行比较: MYSQL数据库中最好的查询是什么? 问题答案: 用于。 IN将使用索引。 否则(afaik)将不使用索引。 另外,这一点不容忽视,IN版本: 使用更少的代码 更容易维护 更容易理解 仅出于这些原因,我准备为获得代码质量而遭受一点性能损失,但实际上您也获得了性能。
问题内容: 我正在重新编写一些PHP代码以使用PDO进行数据库访问,但是我遇到了“ WHERE … IN”查询问题。 我正在尝试根据检查表单上的哪些项目从数据库中删除某些内容。列表的长度和内容将有所不同,但是对于此示例,请想象是这样的: 然后查询如下所示: 当我这样做时,仅第一个ID被删除。(我认为它会抛出逗号及其后的所有内容。) 我也尝试过制作一个数组,但是它不会删除任何东西。 在PDO准备好的
问题内容: 如何在Firebase Android中查询SQL IN子句?我想在Firebase Recycler适配器中使用它,以便根据某些条件仅检索某些子级。类似于以下语句: 我需要一个Firebase查询才能在Firebase Recycler适配器中使用它。 问题答案: 我找到了解决方案:我们无法使用。相反,我们必须创建可扩展的自定义适配器。 要将值传递给此适配器,首先我们必须使用检索数据
问题内容: Go对于此SQL查询中的第二个参数想要什么。我正在尝试在postgres中使用查找。 我真正想要的是: 问题答案: 查询只是使用varargs来替换sql中的参数,因此,在您的示例中,您只需要执行 例如,这个和第二个示例的内容是动态的,那么您将 如果“ IN”部分具有可变的args,则可以执行(播放)