gpt4 book ai didi

mapreduce - Couchdb:关系数据库功能

转载 作者:行者123 更新时间:2023-12-02 00:15:42 25 4
gpt4 key购买 nike

假设我有一个包含 239800 个文档的列表,如下所示:

{
name: somename,
data:{age:someage, income:somevalue, height:someheight, dumplings_consumed:somenumber}
}

我知道我可以通过 doc.data.age, doc.data.income, height, 索引文档dumplings_consumed 并在为每个参数提供范围后获取文档列表,但如何获得如下查询的结果:

年龄在 25 到 30 岁之间、收入低于 10 美元且高度超过 7 英尺的文档列表?

有没有办法让多个索引一起工作?

最佳答案

假设您的所有三个示例查询参数都需要保持动态,您将无法通过单个 CouchDB 查询执行此类连接。最简单的策略是发出一个索引,让您缩小数据的“最大”方面/维度,然后在您的应用程序代码或 _list 函数中过滤掉其余部分。

现在,要过滤数字数据的两个 方面,GeoCouch可能会被使用——它提供了一个通用的二维索引,而不仅限于纬度和经度!所以你会发出包含(比如)映射到 x 和 y 的“年龄”和“收入”的点。然后,您将使用前两个“between”参数查询一个 bbox,然后您只需在应用程序端过滤掉高度。

关于mapreduce - Couchdb:关系数据库功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13315680/

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