问题标签 [nosql-aggregation]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
mongodb - MongoDB Count() 与聚合
我在 mongo 中使用了很多聚合,我知道分组计数等方面的性能优势。但是,mongo 在计算集合中所有文档的这两种方法上的性能有什么不同吗?:
和
更新:第二种情况:假设我们有这个示例数据:
与aggregate()
:
与count()
:
database - 在 influxdb 0.9.x 中合并时间序列
我有一个需要监控其指标的系统。为此,我使用 grafana + influxdb。我目前使用的 influxdb 版本是 0.9.x。
我希望能够计算一些统计数据。我的用例很简单:
- 我想从几个时间序列源中进行选择查询。
- 我想在 select 查询中使用 group by 语句来对我的数据进行分组。
- 最后,我想找到每个组内的平均值。
我的查询如下:
这似乎微不足道,然而,它有点棘手。我得到这样的东西:
根据 influxdb 文档,您可以从多个来源获取数据。换句话说,您可以在 FROM 关键字之后编写多个数据系列。而我想合并它们并对合并的系列进行处理。在 influxdb 0.8.x 中有merge
一个功能可以让您混合数据源。但是,在 influxdb 0.9.x 中既没有合并也没有连接操作。
参考: https ://influxdb.com/docs/v0.9/concepts/08_vs_09.html
InfluxDB 0.9 既不支持 MERGE 也不支持 JOIN 操作。不再需要 MERGE 操作。测量中的所有系列在查询时都会自动合并,除非 WHERE 子句中的标签明确排除。
所以,当你写
你得到一个空的结果......
因此,我的问题是:使用 influxdb 0.9.x 工具从多个时间序列源中选择数据、合并它们、按某些标准分组并对每个组应用聚合函数的方法是什么?
json - 用于嵌套查询的 Elastic Search 聚合增强过滤
我索引了以下对象:
即,添加了不同角色的项目列表,在不同时间添加。 (角色列表是一个嵌套字段)
我需要的是进行聚合,它可以选择每个特定角色存在多少个项目,但只有(!)如果角色在特定时期被添加到项目中。
一个经典的查询(没有日期rande过滤)看起来像这样(并且效果很好):
但是这种方法对我不起作用,因为如果我需要按从“2015-09 -01”开始的日期进行过滤,则将为第一个项目(即项目为他们)因为“角色 1”会因为“角色 2”的项目因为“角色 2”AddedAt 日期标准而命中。
所以,我认为,我应该在某处另外添加以下条件:
但我找不到正确的方法来做到这一点。
工作查询的结果(有点)如下:
java - Grouping of data based on week using apache spark
I am new bee to spark, I have around 15 TB data in mongo
I am looking for based on ApplicationName, groupby (Name,IpCategory) for one week data.I am able to fetch data from mongo and save output to mongo. I am working on it using java.
NOTE:- From one month data I need only last week. It should be groupby(Name,IPCategory).
sql - Postgres 嵌套的 LEFT OUTER JOIN 在 array_agg() 中返回多个 null
我有相当多的2张桌子:
所以有些俱乐部有或根本没有评分标准。从上面的例子中,只有一个俱乐部 (id=3626) 有评分标准 #7。
那么为什么这段代码会返回一个空值列表,而不是一个空值呢?
看起来量规的数量与手机的数量相同。但是没有逻辑。我想,我在 SQL 语法上犯了一个错误。
量规结果列表中的空值绝对不应该超过一个。站点、电子邮件和所有其他行也是如此,没有任何价值。
如何解决这个问题?
谢谢。
mongodb - MongoDB 并聚合嵌入文档
我是 mongoDB 的新手,遇到了一个问题。数据是根据官方文档导入的。
如您所见,每个餐厅都有一个等级数组,嵌套文档包含一个分数字段。我要做的是根据每个餐厅的成绩的平均分,检索平均分最高的餐厅。这可能需要使用 mongoDB 的聚合方法,但文档没有涵盖嵌套文档的情况,我用谷歌搜索但没有结果。这个网站上有一个类似的问题,但不是很清楚。
redis - 用于聚合的数据存储
什么是快速聚合数据的首选数据存储?我有定期从其他系统提取的数据,并且数据存储应支持以下查询:
- 用户在某个时间范围内完成的交易数量是多少。
- 用户在一个时间范围内完成的成功交易的总和是多少。
- 查询应该支持对大量数据进行分组、计数、求和等 sql 结构。
现在,我在 Redis 中使用自定义数据模型,数据在内存中获取,然后在其上运行聚合。这个模型的问题在于,它与我的枢轴(列)和任何额外的枢轴密切相关,如果添加会导致我的数据爆炸,从而导致我的 redis 盒上的内存消耗巨大。
我已经探索过弹性搜索,但是对于我拥有的那种数据,具有聚合的弹性搜索查询花费的时间超过 200 毫秒。
还有其他选择吗,我现在也在看 Aerospike。有人可以了解一下 aerospike 骨料在这种情况下是如何工作的吗?
android - Firebase 模仿 WHERE IN
鉴于下面提供的日期模型,用户登录并检索他们的数据后,他们还可以获得他们的朋友列表。
但是,为了现在通过 idsfdb17f3a-7b7d-4aa5-9a0b-b9fb33c349de
和 获得这两个朋友的详细信息a96da7b1-7c4e-44bc-b82e-fc75bed52bcd
,目前,最有效的操作似乎是简单地遍历 url,以如下方式:
但即使这样也有其主要限制,如果说你想要一个你的 40 个朋友的用户名列表,你现在需要 40 个单独的、特定的调用到服务器......
如何有效地在 Firebase 中查找数据,而不是将所有朋友的详细信息转储到他们的手机上?
Firebase 架构:
aerospike - Aerospike AQL count(*) SQL 模拟脚本
好的,所以问题是我需要在 aerospike 的 aql 控制台上进行聚合查询。具体来说,我想取一组记录的平均值,并计算一组中的所有记录。我什至不知道如何开始......
postgresql - PostgreSQL 中固定大小 JSONB 数组的聚合
我正在努力对 PostgreSQL 数据库中的 JSONB 字段进行聚合。这可能更容易用一个例子来解释,所以如果创建并填充一个名为analysis
2 列 (id
和analysis
) 的表,如下所示:-
如您所见,analysis
JSONB 字段始终包含 2 个属性category
和results
. results 属性将始终包含一个大小为 16 的固定长度数组。我使用了各种函数,例如,jsonb_array_elements
但我想要做的是以下内容: -
- 按分析分组->“类别”
- 每个数组元素的平均值
当我想要一个语句返回按类别(即news
,sport
和weather
)分组的 3 行和一个包含平均值的 16 个固定长度数组时。更复杂的是,如果数组中有null
s,那么我们应该忽略它们(即我们不是简单地按行数求和和平均)。结果应如下所示:-
注意:请注意第一行最后 2 个数组项中的45
and说明忽略s。36
nulls
我曾考虑创建一个视图,将数组分解为 16 列,即
这对我来说似乎非常不雅,并且首先消除了使用数组的优势,但可能会使用这种方法将某些东西组合在一起。
任何指示或提示将不胜感激!
性能在这里也很重要,所以性能越高越好!