草庐IT

分组码

全部标签

java - 按投影字段分组时引用无效

我有两个文档:Foo和Qux。Foo看起来像这样:{"_id":ObjectId("5c52bb1af9b7bb512458a6d1"),"name":"Foo1","description":"ThisisaFoo","bars":[{"name":"Bar1","description":"ThisisaBar","qux":ObjectId("5c3f3d59d45cca2d1860bb4e")},{"name":"Bar2","description":"ThisisaBar","qux":ObjectId("5c3f3d59d45cca2d1860bb4e")}]}Qux看起

mongodb - 在保留根字段的同时对子文档进行分组/计数

在mongodb中,经过几个$match和$project,我得到以下2个文件。我试图弄清楚如何将每个事件的每个组中每个团队的状态列表分组/计数在一起。简而言之,我需要知道每个州有多少支球队(0、1或2)。我从以下文件开始。{"_id":"event1","groups":[{"_id":"group1","wlActive":true,"teams":[{"state":NumberInt(2)},{"state":NumberInt(2)},{"state":NumberInt(1)},{"state":NumberInt(1)},{"state":NumberInt(1)},{"

mongodb - 执行聚合时有没有办法对来自多个文档的结果进行分组

我是mongo的新手,正在尝试执行聚合查询来计算给定文档的时间戳的最小值/最大值。示例文档如下-{"_id":ObjectId("5c9cd93adddca9ebb2b3fcba"),"frequency":5,"s_id":"30081993","timestamp":NumberLong(1546300800000),"date":ISODate("2019-01-01T00:00:00.000Z"),"values":{"1547439900000":{"number_of_values":3,"min_value":32.13,"max_value":81.42},"15474

用于计算按其他字段分组的唯一字段数的 Mongodb 查询

我有一个看起来像这样的模型Product={brand:String,model:String,price:String,variant:String}我需要一个查询来返回每个品牌的od型号数量。例如,假设集合中填充了以下数据{brand:"bmw",model:"x5",variant:"200hp",price:"30000"}{brand:"bmw",model:"x5",variant:"300hp",price:"40000"}{brand:"bmw",model:"x3",variant:"100hp",price:"15000"}{brand:"fiat",model:"

Mongodb 分组并使用空数组推送

当存在一个可能为空的数组时,我遇到了组问题。集合可能是这样的:{"_id":"Contract_1","ContactId":"Contact_1","Specifications":[]}{"_id":"Contract_2","ContactId":"Contact_2","Specifications":[{"Description":"Descrizione1","VehicleId":"Vehicle_1","Customizations":[{"Description":"Randomfurniture","ContactId":"Contact_5"},{"Descrip

regex - MongoDB 正则表达式分组

我有一个包含一堆文档的集合。我想在一个大字符串对象(未格式化的键/值)中查找并从中提取数据。是否可以使用这样的东西:db.apps.find({config:'/\n\n(.*)=(.*)\n\n?/'})提取这对值?我正在尝试使用php来执行此操作,但速度变得非常慢。我怎样才能找到一个干净的方法来解决它? 最佳答案 如果我没有正确理解您的问题,不幸的是mongo可能无法快速执行此查询。“查找”命令只会查找“配置”值与该正则表达式匹配的文档,但该查询可能很慢。即使您在“配置”字段上有索引,该索引也只能用于匹配正则表达式的固定前缀(参

python - 使用 MongoDB 聚合框架进行不同的排序和分组

最近我一直在研究MongoDB的聚合框架,认为它会是解决我一直想解决的问题的好方法。所以,假设我正在编写讨论板软件并且我有以下帖子的文档结构:{'_id':ObjectId,'created_at':datetime,'poster_id':ObjectId,'discussion_id':ObjectId,'body':string}我在posts集合中存储了以下(简化的)示例文档:{'_id':1,'created_at':'2013-08-1812:00:00','poster_id':1,'discussion_id':1,'body':'immapotato'}{'_id':

MongoDB - 聚合,按数组值分组

我有以下文档结构:{_id:...,name:"Item1",Props:[{Key:"numberKey",Val:1234},{Key:"dateKey",Val:Date("2013-09-09")}]}这是简化的,实际应用中Props字段可以有各种Keys和Values。我的问题-是否可以通过“dateKey”对“numberKey”进行$group和$sum?如果这不可能,我应该使用什么结构?我需要用户允许添加键和值,所以我需要一些灵活的东西。 最佳答案 不幸的是,在您的架构中使用聚合是不可能的。问题在于聚合旨在对$gro

高级SQL优化之分组字段顺序优化

注:本文所使用的执行计划可视化工具为 PawSQLExplainVisualizer ,支持MySQL、PostgreSQL、openGauss等数据库执行计划的分析。问题定义如果一个查询中既包含来自同一个表的排序字段也包含分组字段,但字段顺序不同,可以通过调整分组字段顺序,使其和排序字段顺序一致,这样数据库可以避免一次排序操作。考虑以下两个SQL,二者唯一的不同点是分组字段的顺序(第一个SQL是o_custkey,o_orderdate,第二个SQL是o_orderdate,o_custkey),由于分组字段中不包括groupingset/cube/rollup等高级grouping操作,所

Javascript支持数组分组(groupBy)的方法即将到来!

前言在JavaScript编程中,对数组进行分组是一项常见的任务。无论是根据特定属性将对象分组,还是按照某些规则重新组织数组元素,分组操作在日常开发中都是常见的。过去,为了实现这一目标,通常需要编写自定义的分组函数或者使用第三方库,比如lodash的groupBy函数。然而,好消息是,JavaScript正逐渐引入原生的分组方法,使我们的开发工作更加便捷。在本文中,我们将探讨JavaScript的新特性,即Object.groupBy和Map.groupBy,这两个新特性将使数组分组操作更加容易。1、分组操作的背景假设现在有一个包含人员信息的数组,每个人都有姓名和年龄属性,需求想要按照他们的年