gpt4 book ai didi

具有多个键值的 CouchDB View 查询

转载 作者:行者123 更新时间:2023-12-04 13:43:49 25 4
gpt4 key购买 nike

我目前正在尝试创建一个 View 和查询来适应这个 SQL 查询:

SELECT * FROM articles
WHERE articles.location="NY" OR articles.location="CA"
ORDER BY articles.release_date DESC

我试图用一个复杂的键创建一个 View :

function(doc) { 
if(doc.type == "Article") {
emit([doc.location, doc.release_date], doc)
}
}

然后使用 startkey 和 endkey 检索一个位置并在发布日期对结果进行排序。
.../_view/articles?startkey=["NY", {}]&endkey=["NY"]&limit=5&descending=true

这工作正常。

但是,如何将多个开始键和结束键发送到我的 View 以模仿
WHERE articles.location="NY" OR articles.location="CA" ?

最佳答案

我的死敌多米尼克是对的。

而且,是永远不可能在 CouchDB 中按条件 A 查询,然后按条件 B 排序。作为这种不便的交换,CouchDB 保证可扩展、可靠、对数查询时间。你有一个选择。

  • 将 View 输出存储在 中自己的 数据库,并创建一个新 View 以按条件 B 排序
  • , 对行进行排序,可以是
  • 收到行后,对客户端进行排序
  • _list 中对服务器端进行排序功能。这很棒,但请记住它最终不是可扩展的。如果您有数百万行,则 _list功能可能会崩溃。
  • 关于具有多个键值的 CouchDB View 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5571459/

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