在 $group 的 mongodb 聚合框架中使用 $regex

2024-01-05

考虑以下示例:

db.article.aggregate(
  { $group : {
      _id : "$author",
      docsPerAuthor : { $sum : 1 },
      viewsPerAuthor : { $sum : "$pageViews" }
  }}
);

这按作者字段分组并计算两个字段。

我有 $author = FirstName_LastName 的值。 现在,我不想按 $author 进行分组,而是想按具有相同姓氏的所有作者进行分组。

我尝试 $regex 按“_”后的所有匹配字符串进行分组

$author.match(/_[a-zA-Z0-9]+$/)

db.article.aggregate(
  { $group : {
      _id : "$author".match(/_[a-zA-Z0-9]+$/),
      docsPerAuthor : { $sum : 1 },
      viewsPerAuthor : { $sum : "$pageViews" }
  }}
);

also tried the following:

 db.article.aggregate(
  { $group : {
      _id : {$author: {$regex: /_[a-zA-Z0-9]+$/}},
      docsPerAuthor : { $sum : 1 },
      viewsPerAuthor : { $sum : "$pageViews" }
  }}
);

实际上没有这样的方法提供这种功能,或者我找不到包含它的适当版本。我认为这不适用于 $regexp :http://docs.mongodb.org/manual/reference/operator/regex/ http://docs.mongodb.org/manual/reference/operator/regex/它只是用于模式匹配。

jira 中有一个改进请求:https://jira.mongodb.org/browse/SERVER-6773 https://jira.mongodb.org/browse/SERVER-6773

它处于开放未解决状态。 但

在 github 中我发现了这个讨论:https://github.com/mongodb/mongo/pull/336 https://github.com/mongodb/mongo/pull/336

如果你检查这个提交:https://github.com/nleite/mongo/commit/2dd175a5acda86aaad61f5eb9dab83ee19915709 https://github.com/nleite/mongo/commit/2dd175a5acda86aaad61f5eb9dab83ee19915709

它或多或少包含您可能拥有的方法。我并没有真正理解这种改进的意义:在 2.2.3 中它不起作用。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 $group 的 mongodb 聚合框架中使用 $regex 的相关文章

  • 致命错误 - 未找到“Mongo”类

    我正在尝试执行此操作 但我收到以下错误 致命错误 在 C wamp www 中找不到类 Mongo Info PHP 5 38 MongoDB mongodb win32 i386 2 0 2 MongoDB PHP 驱动程序 mongo
  • 正则表达式 匹配捕获组内的文本

    示例文本 ruby object DynamicAttribute attributes resource id 1 resource type Applicant string value Michael int value id 359
  • 多文档事务在使用 mongodb 4.08 社区服务器的 C# 中不起作用

    我需要使用 mongodb 事务更新多个文档 mongodb 社区服务器版本是 4 08 net 的 mongodb 驱动程序是 2 9 beta 也尝试过 2 8 从调试中 我可以看到它执行了 session AbortTransacti
  • javascript从字符串创建不区分大小写的正则表达式

    我试图通过以不区分大小写的方式将输入与正则表达式匹配来进行验证 正则表达式作为对象上的字符串从服务中下来 我可能会得到类似的东西 regex ane 我可以执行以下操作 var rx new RegExp object regex The
  • MongoDB 存储过程等效项

    我有一个包含商店列表的大型 CSV 文件 其中一个字段是邮政编码 我有一个名为 ZipCodes 的独立 MongoDB 数据库 它存储任何给定邮政编码的纬度和经度 在 SQL Server 中 我将执行一个名为 InsertStore 的
  • 从“class”名称中删除/替换不需要的前缀信息

    我正进入 状态style从后端 它带有不需要的前缀 我会替换没有前缀的相同内容 正确的方法是什么 这就是我得到的
  • 在 shell/shell 脚本中设置 MongoDB 写关注

    我正在尝试填充一个集合MongoDB的壳 据我了解 使用轻松的Write Concern可以大大加快这个过程 我说的是文档 http docs mongodb org manual core write concern write oper
  • 为关联数组选择哪种映射类型?学说ODM

    我有一个关于 顺便说一句 真的很棒 Doctrine ODM 的简单问题 假设您有一个类似以下的文档 Document class Test Id public id WHICHTYPE public field array 现在我想存储一
  • Spring Data mongodb:添加 MongoDb 访问凭据

    我的 Spring 应用程序中有以下工作配置
  • 如何使用正则表达式限制小数点之前/之后/小数点以及整体的位数?

    我正在尝试检查数值是否具有特定数量的数字 总共不应超过 19 位数字 小数点前不能超过17位 整数部分 小数点后不得超过 4 位 小数部分 可以有小数点也可以没有 前面可以有 或 或没有 有效示例 1 1 0 0 1234567890123
  • MongoDB insertMany 并跳过重复项

    我试图insertMany https docs mongodb com manual reference method db collection insertMany 项目进入我的 Mongo 数据库 但我想跳过重复的 ID 我在用着N
  • 限制正则​​表达式中的字符长度

    有没有办法限制正则表达式 http en wikipedia org wiki Regular expression最多 100 个字符with正则表达式 size size So Look at me 行不通的 我想限制数量 只允许 1
  • 如何在 Perl 中找到正则表达式匹配的位置?

    我需要编写一个接收字符串和正则表达式的函数 我需要检查是否有匹配并返回匹配的开始和结束位置 正则表达式已经由qr 该函数还可能收到一个 全局 标志 然后我需要返回所有匹配的 开始 结束 对 我无法更改正则表达式 甚至无法添加 用户可能使用的
  • 正则表达式等价

    有没有办法找出两个任意正则表达式是否等价 对我来说看起来很复杂的问题 但可能有一些 DFA 简化机制之类的 要测试等价性 您可以计算的表达式并进行比较
  • 正则表达式提取美国邮政编码,但不提取假代码

    使用 XML 包和 XPath 从网站上抓取地址 有时我只能得到一个嵌入了我想要的邮政编码的字符串 提取邮政编码很简单 但有时会显示其他五位数字的字符串 以下是 df 中问题的一些变体 zips lt data frame id seq 1
  • 优化正则表达式以过滤数千个 HTML 选择选项

    背景 我开发了一个基于 jQuery 的穿梭小部件 https stackoverflow com a 13557000 59087对于 HTMLselect元素 因为我找不到一个经过最低限度编码并提供正则表达式过滤器来补偿的元素变音符号
  • xpath+ 正则表达式:匹配文本

    我正在尝试编写一个 xpath 以便仅返回包含文本和数字的节点 我想使用正则表达式并希望这能起作用 td matches text d 谁能帮我理解我在这里做错了什么 tr td 1 td td 10 td td a td tr 你缺少量化
  • $unwind聚合框架中的对象

    在 MongoDB 聚合框架中 我希望在对象 即 JSON 集合 上使用 unwind 运算符 看起来不像是这样possible http docs mongodb org manual reference aggregation S un
  • MongoDB:仅获取过去 24 小时内创建的文档?

    我想限制我所做的查询仅查看过去 24 小时内创建的文档 构造此查询的最佳方式是什么 如何根据日期进行限制 Add createdAt字段 索引它 然后查询 db getCollection COLLECTION NAME find crea
  • 正则表达式 - 从行首和行尾修剪空格[关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions Link

随机推荐

  • R闪亮:如何阻止sliderInput标签点击导致滚动到页面顶部?

    我注意到 每当您单击任何 R Shiny 的标签时滑块输入控制时 窗口滚动到页面顶部 为了说明这一点 请将 sliderInput 放置在页面的更下方 例如 在大块文本或图表之后 然后单击其标签 页面滚动到顶部 我该如何抑制这种行为 我有一
  • 为什么 YouTube 在 iframe 中为嵌入视频添加 type= 属性?

    当访问 YouTube 时 它 会给出一个嵌入代码 例如 请注意 type text html 不是有效的 html iframe 标签没有这样的属性 谁能解释一下谷歌为什么这么说 我想这是出于某些实际原因 但我无法猜测是什么 PS您可以通
  • C# EventLog 无法访问日志

    下面是我在运行下面的代码时遇到的异常 未找到源 但无法搜索部分或全部事件日志 无法访问的日志 安全性 代码是 if EventLog SourceExists this EventLogSource 异常的内容对我来说有意义 这就是为什么它
  • Java 中的参数多态性是什么(举例)?

    据我了解 参数多态性是一种允许对各种数据 类型 进行统一操作的技术 我的知识正确吗 这个例子是参数多态吗 我相信这是因为 Animal talk 允许调用 talk 而不管特定的动物类型 猫或狗 public interface Anima
  • 尝试在 css 中重新创建加载 gif

    我正在尝试用纯 css 重新创建以下 gif CSS在这里 http codepen io anon pen FmCaL http codepen io anon pen FmCaL 目前仅支持 webkit chrome 我试图通过使用前
  • Java中如何并行添加两个数组?

    比如有两个巨大的 长度2 3百万 的数组float or double 需要它们很快加起来 怎么做 有这方面的库吗 采用固定线程池 线程数等于处理器核心数 有多少个线程就提交多少个任务 每个任务都会接收其需要求和的索引范围 在主线程中收集所
  • Firebase 数据库迁移

    来自 SQL 背景 我想知道如何在 Firebase 中进行数据库迁移 假设我在 firebase 中有以下数据 dateFrom 2015 11 11 timeFrom 09 00 现在前端客户端将以以下形式存储和期望数据 dateTim
  • 使用参数将表单提交到操作,Asp.Net.Core Mvc

    我正在尝试通过 ajax 在 asp net core 中提交排序下拉表单 操作还有其他参数 我也想执行这些参数 但表单不提交其他参数 我认为主要问题是剃须刀的形状部分 这是我行动的一部分 public IActionResult Prod
  • 可以在没有 UIWebView 的情况下运行 javascript 吗?

    是否可以运行一些 javascript 代码 也许有一个NSString作为输入 而不使用UIWebView 我想在单独的线程中运行此代码 因此 UIWebView 是不可能的 并且我真的不想渲染任何内容 只需返回结果即可 我没有尝试过 但
  • 如何从 OpenGL ES 中渲染的纹理读取像素

    我正在尝试从即时生成的纹理 RTT 渲染到纹理 中读取像素 我通过实施 Apple 建议的方法来拍摄此快照here http developer apple com library ios qa qa1704 index html 这对于呈
  • Java推断类型化HashSet的错误类型[重复]

    这个问题在这里已经有答案了 可能的重复 调用 TreeSet contains Long valueOf someLongValue 时出现 ClassCastException https stackoverflow com questi
  • Django settings.py 错误:不支持按文件名导入

    我在虚拟环境中运行 Django 使用 virtualenv 并且尝试添加自定义开发环境设置文件以在开发时简化应用程序配置 我的计划是用两行代码来完成此操作 if os environ get DEVELOPMENT None from l
  • 为什么 php rename() 会损坏我的文件?

    我正在使用 plupload 将多个文件上传到我的服务器 使用这个 有一个参数 url upload php upload php 在收到文件时捕获文件 如果文件被分块 可能会重新组合它们 收到完整文件后 它会将响应发送回原始页面 并显示绿
  • 如何测试你的Linux是否支持SSE2

    其实我有2个问题 SSE2兼容性是CPU问题还是编译器问题 如何检查您的CPU或编译器是否支持SSE2 我正在使用 GCC 版本 gcc GCC 4 5 1 当我尝试编译代码时 它给了我这个错误 gcc O3 msse2 fno stric
  • 谷歌浏览器扩展 :: console.log() 来自后台页面?

    如果我打电话console log something 从弹出页面或包含的任何脚本都可以正常工作 但是 由于后台页面不是直接从弹出页面运行 因此它不包含在控制台中 有什么方法可以让我得到console log 在后台页面中显示在弹出页面的控
  • 使用Java从多行字符串中删除空行

    我有一个多行字符串 其他行之间有一些空行 看起来像 def msg AAAAAA BBBBBB CCCCCC DDDDDD EEEEEE TEST FFFFF GGGGGG 我尝试了一些正则表达式 msg msg replaceAll n
  • 对文本文件中的每一行进行排序

    我有一个文本文件 其中每行包含一些单词 例如 stackoverflow coding programming tag question badges 我必须对每一行进行排序并保留行的顺序 例如 对于上面的例子 输出应该是 coding p
  • Azure 门户应用程序设置:“无法加载设置”(ReadOnlyDisabledSubscription)

    在 Azure 门户中 我选择我的 Web 应用程序 然后选择 应用程序设置 它显示以下内容 应用程序设置和连接字符串的错误消息 无法加载设置 我该如何解决 附加信息 与我具有相同权限的另一个用户在访问同一应用程序设置页面时也遇到了此问题
  • 允许弹性项目保持固定宽度并在容器内水平滚动[重复]

    这个问题在这里已经有答案了 我有一位家长正在使用display flex 目前它有四个子卡 卡 但可能有更多 所有的孩子都需要大但相等的宽度 例如 每个孩子都需要一个40 宽度 如果发生这种情况 屏幕上只能容纳一定数量的孩子 我需要能够做到
  • 在 $group 的 mongodb 聚合框架中使用 $regex

    考虑以下示例 db article aggregate group id author docsPerAuthor sum 1 viewsPerAuthor sum pageViews 这按作者字段分组并计算两个字段 我有 author F