使用 PyMongo 连接数组因未知组运算符“$concatArrays”而失败

2023-11-29

我有 mongodb 数据,例如:

{'word': 'good', 'info': [{'tbl_id': 'd1', 'term_freq': 2}, {'tbl_id': 'd2', 'term_freq': 56}, {'tbl_id': 'd3', 'term_freq': 3}]}
{'word': 'spark', 'info': [{'tbl_id': 'd1', 'term_freq': 6}, {'tbl_id': 'd3', 'term_freq': 11}, {'tbl_id': 'd4', 'term_freq': 10}]}
{'word': 'good', 'info': [{'tbl_id': 'd4', 'term_freq': 12}, {'tbl_id': 'd5', 'term_freq': 8}, {'tbl_id': 'd8', 'term_freq': 7}]}
{'word': 'spark', 'info': [{'tbl_id': 'd5', 'term_freq': 6}, {'tbl_id': 'd6', 'term_freq': 11}, {'tbl_id': 'd7', 'term_freq': 10}]}

我想用pymongo来处理它,结果应该是:

{'word': 'good',
 'info': [{'tbl_id': 'd1', 'term_freq': 2}, {'tbl_id': 'd2', 'term_freq': 56}, {'tbl_id': 'd3', 'term_freq': 3},
          {'tbl_id': 'd4', 'term_freq': 12}, {'tbl_id': 'd5', 'term_freq': 8}, {'tbl_id': 'd8', 'term_freq': 7}]}
{'word': 'spark',
 'info': [{'tbl_id': 'd1', 'term_freq': 6}, {'tbl_id': 'd3', 'term_freq': 11}, {'tbl_id': 'd4', 'term_freq': 10},
          {'tbl_id': 'd5', 'term_freq': 6}, {'tbl_id': 'd6', 'term_freq': 11}, {'tbl_id': 'd7', 'term_freq': 10}]}

我在 pymongo 中使用组:

a = mycol.aggregate([{"$group": {"_id":"$word", 'infos': {"$concatArrays": 1}}}])
for i in a:
    print(i)

出了问题:pymongo.errors.OperationFailure: unknown group operator '$concatArrays'。 我用group关键词:

a = mycol.group(key='word',condition=None, initial={'infos': []}, reduce={"$concatArrays": "info"})
for i in a:
    print(i)

也出错了:

Traceback (most recent call last):File "F:/programs/SearchEngine/test.py", line 167, in <module> a = mycol.group(key='word',condition=None, initial={'infos': []}, reduce={"$concatArrays": "info"})  File "C:\Users\ll\.virtualenvs\SearchEngine\lib\site-packages\pymongo\collection.py", line 2550, in group  group["$reduce"] = Code(reduce)  File "C:\Users\ll\.virtualenvs\SearchEngine\lib\site-packages\bson\code.py", line 54, in __new__  "instance of %s" % (string_type.__name__))
TypeError: code must be an instance of str

您收到此错误消息的原因是$concatArrays运算符是一个表达式运算符 not a $组累加器.

话虽这么说,您可以使用以下管道来完成此操作:

[
    {
        "$group": {
            "_id": "$word",
            "info": {
                "$push": "$info"
            }
        }
    },
    {
        "$project": {
            "_id": 0,
            "word": "$_id",
            "info": {
                "$reduce": {
                    "input": "$info",
                    "initialValue": [

                    ],
                    "in": {
                        "$concatArrays": [
                            "$$value",
                            "$$this"
                        ]
                    }
                }
            }
        }
    }
]

我们创建一个二维列表info in the $group舞台与$push运算符然后在另一个$project阶段您使用以下方法展平列表$reduce and $concatArrays.

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

使用 PyMongo 连接数组因未知组运算符“$concatArrays”而失败 的相关文章

  • 需要根据数据框中的行号应用不同的公式

    我正在努力在数据框中找到某种移动平均值 该公式将根据正在计算的行数而变化 实际场景是我需要计算Z列 Edit 2 以下是我正在使用的实际数据 Date Open High Low Close 0 01 01 2018 1763 95 176
  • 函数名称未定义

    我有一段代码 看起来像这样 if name main main def main print hello 但是 当我尝试运行此代码时 出现错误 NameError 名称 main 未定义 我是否没有在函数 def main 的第一行定义名称
  • 是否可以在 IPython 控制台中显示 pandas 样式?

    是否可以显示熊猫风格 https pandas pydata org pandas docs stable user guide style html在 iPython 控制台中 Jupyter 笔记本中的以下代码 import panda
  • caffe安装:opencv libpng16.so.16链接问题

    我正在尝试在 Ubuntu 14 04 机器上使用 python 接口编译 caffe 我已经安装了 Anaconda 和 opencvconda install opencv 我还安装了咖啡中规定的所有要求 并更改了注释块makefile
  • 我可以在 matplotlib 中的绘图左侧放置一个垂直颜色条吗?

    来自颜色条方法的 matplotlib 命令摘要 http matplotlib org api pyplot api html highlight colorbar matplotlib pyplot colorbar我知道关键字参数or
  • 删除 tkinter 文本默认绑定

    我正在制作一个简单的 tkinter 文本编辑器 但我想要所有默认绑定文本小部件如果可能的话删除 例如当我按Ctrl i它默认插入一个制表符 我制作了一个事件绑定来打印文本框中有多少行 我将事件绑定设置为Ctrl i以及 当我运行它时 它会
  • 在 python 中发送标头[重复]

    这个问题在这里已经有答案了 我有以下 python 脚本 我想发送 假 标头信息 以便我的应用程序就像 Firefox 一样运行 我怎么能这么做呢 import urllib urllib2 cookielib username passw
  • 无法使用Python请求会话模块登录网站

    我刚刚开始进行网络抓取 对于我的第一个项目 我尝试使用 requests Session 登录 artofproblemsolving com 并访问另一个用户的帐户 这是我的代码 import requests LOGIN URL htt
  • 如何在Python中手动对数字列表进行排序?

    规格 Ubuntu 13 04 Python 3 3 1 背景 Python的初学者 遇到了这个 手动排序 问题 我被要求做的事情 让用户输入 3 个数值并将它们存储在 3 个不同的变量中 不使用列表或排序算法 手动将这 3 个数字从小到大
  • argparse 不检查位置参数

    我正在创建一个脚本 它使用 argparse 接受位置参数和可选参数 我已经阅读了 Doug 的教程和 python 文档 但找不到答案 parser argparse ArgumentParser description script t
  • 右键单击 QPushButton 上的 contextMenu

    对于我的应用程序 我在 Qt Designer 中创建了一个 GUI 并将其转换为 python 2 6 代码 关于一些QPushButton 与设计器创建 我想添加右键单击上下文菜单 菜单选项取决于应用程序状态 如何实现这样的上下文菜单
  • 尝试校准keras模型

    我正在尝试通过 Sklearn 实现来校准我的 CNN 模型CalibratedClassifierCV 尝试将其包装为KerasClassifier并覆盖预测功能但没有成功 有人可以说我做错了什么吗 这是模型代码 def create m
  • ImproperlyConfigured at / 不允许空静态前缀 - Django

    我正在使用 Django 上传 显示图像 该网站部署在 Heroku 上 下列的this https coderwall com p bz0sng教程我能够成功上传图像 但是 图像并未显示在模板中 然后我了解到我的 urls py 末尾应该
  • Django 1.7:如何使用 html/css 文件作为模板发送电子邮件

    从 Django 1 7 开始 可以send email 使用新参数 html message 不幸的是 没有关于如何使用它的全面指南 新手友好 或者至少我找不到它 我需要使发送的电子邮件变得漂亮 因此 我试图弄清楚如何将我的消息包含到 h
  • 为什么我无法杀死 k8s pod 中的 python 进程?

    我试图杀死一个 python 进程 ps aux grep python root 1 12 6 2 1 2234740 1332316 Ssl 20 04 19 36 usr bin python3 batch run py root 4
  • 在Python中随机交错2个数组

    假设我有两个数组 a 1 2 3 4 b 5 6 7 8 9 我想将这两个数组交错为变量 c 注意 a 和 b 不一定具有相同的长度 但我不希望它们以确定性的方式交错 简而言之 仅仅压缩这两个数组是不够的 我不想要 c 1 5 2 6 3
  • 解析整数集的字符串并列出间隔

    I have 2 5 7 9 12 string 我想从中获取 2 5 7 8 9 12 列表 python中有没有内置的函数 Thanks UPD 我想 直接的答案是No 不管怎样 谢谢你的 片段 使用一个 建议者斯文 马尔纳克 s 2
  • 为什么我会在 Python 字符串格式中使用除 %r 之外的其他内容?

    我偶尔会使用 Python 字符串格式 这可以像这样完成 print int i Float f String s 54 34 434 some text 但是 这也可以这样做 print int r Float r String r 54
  • Django 中使用外键的抽象基类继承

    我正在尝试在 Django 支持的网站上进行模型继承 以遵守 DRY 我的目标是使用一个名为 BasicCompany 的抽象基类来为三个子类提供通用信息 Butcher Baker CandlestickMaker 它们位于各自的应用程序
  • 美丽的汤刮 - 登录凭据不起作用

    尝试使用登录凭据抓取页面 payload email gmail com password urls login url https www spotrac com signin url https www spotrac com nba

随机推荐

  • Guice:如何在没有注入器或使用构造函数注入的情况下获取单例实例

    我有一个单例类定义为 Singleton class MySingletonClass 我有另一个使用此单例类的类 但必须使用 new 运算符创建该类 因此我不能使用构造函数注入或设置器注入等 class MyClass public vo
  • Javascript 查找链接的颜色

    所以我遇到的问题基本上已经解决了 我有一个 HTML 格式的外部网站列表 如下所示 a href http google com au http google com au a br a href http stackoverflow co
  • React-router-Dom:在 React 中重定向多个用户登录后的空白页面

    我的反应项目中有两个 用户和管理员 用户 我想在成功登录后将他们重定向到他们受尊重的页面 为了实现这一目标 我创建了一个名为的独立组件authenticatedRoute js并通过 AuthenticatedRoute 组件包装这些组件
  • PL/SQL 中的转义下划线

    我有一个与此类似的 oracle 触发器 AFTER INSERT OR UPDATE ON TABLE ABC FOR EACH ROW BEGIN IF new COLUMN A LIKE H THEN INSERT INTO TABL
  • 无法从 boost 子进程获取分段错误退出代码

    当子进程由于分段违规或除数为零或任何其他终止信号而被终止时 我试图获取子进程的退出代码 使用 boost process 和 boost asio 退出代码和错误代码始终返回 0 和成功 我在 CentOS 7 上使用 g 4 8 5 和
  • 将 hashmap 转换为 JSON 对象时从 Gson 获取 stackoverflowerror

    我想将树结构中的数据表示为 java 对象 然后我想将其转换为 JSON 对象 在 stackoverflow 条目的帮助下 将父 子关系的java arrayList转换为树 使用 GSON 将 hashmap 转换为 JSON 我有以下
  • 在 C 中为 Fortran 可分配内存分配内存

    我们试图在 C 中接管旧版 Fortran 代码 100 000 行代码 的内存分配 因为我们使用 C 库在集群上分区和分配分布式内存 可分配的变量在模块中定义 当我们调用使用这些模块的子例程时 索引似乎是错误的 移动了一位 然而 如果我们
  • Vue.js - 同一路线上的两个不同组件

    我试图弄清楚如何使用 Vue 在同一条路线上拥有 2 个不同的组件 主页或登录页面 取决于用户是否经过身份验证 也许我在文档中遗漏了一些东西 但我无法也无法弄清楚 有可能吗 Thx 在路由器映射中使用 auth 参数 router map
  • Azure 数据工厂 V2 检查复制活动的文件大小

    我需要对本地数据源中的文件运行复制活动 我需要检查文件大小 如果大小大于 0 则复制它们 如果文件大小为 0 我将发送通知 以便管理员检查源 问题是 在 获取元数据 活动中 字段列表中的参数不包括大小 此外 验证活动也不查找大小属性 有什么
  • Spyder 4 绘图窗格不显示

    使用 Spyder 4 它不再在控制台上方显示 绘图 窗格 我已确保后端设置为内联 但窗格仍然不显示 如果有人知道任何解决方案 将不胜感激 Spyder 维护者在这里 您需要进入菜单View gt Panes并激活与绘图窗格相对应的条目
  • java中如何比较两个日期?

    我正在尝试比较两个日期 我只想比较日期部分而不是时间部分 这就是我在程序中存储日期的方式 Thu Jan 27 23 20 00 GMT 2011 我有一个 ArrayList
  • g++ 关于声明多维双精度数组的警告

    在我的 C 程序中 我试图初始化一个全为 0 的 double 类型的 3 3 3 数组 在类头文件中 我声明了一个成员 double list 3 3 3 当我打印出这个数组的内容时 我发现并非所有条目都如我所料为0 例如list 1 1
  • Mkmapview 半页卷曲[重复]

    这个问题在这里已经有答案了 可能的重复 如何在iPhone中制作像地图应用程序一样的半卷曲动画 我需要在地图视图中实现半页卷曲 就像 Google 地图应用程序一样 我实施UIViewAnimationTransitionCurlUp UI
  • 如何获取phonegap中的当前位置?

    我在我的应用程序中添加了地理定位插件 并使用此代码来获取phonegap中的当前位置 但这段代码不起作用 document addEventListener deviceready onDeviceReady false function
  • 如何使用 Perl 正则表达式删除未使用的嵌套 HTML span 标记?

    我正在尝试从 HTML 文件中删除未使用的跨度 即那些没有属性的跨度 并且已经用其他正则表达式清理了我不需要的所有属性 我的正则表达式有问题 没有选择要删除的正确的开始和结束标签对 my a a span b span style colo
  • 在 if 语句中使用 stringstream >> 运算符

    以下代码片段旨在尝试使用 stringstream 对象从字符串中提取整数 并检测整数提取是否成功 stringstream 类继承 gt gt 运算符以返回对 istream 实例的引用 整数提取失败如何导致 myStream 等于 0
  • GoogleAppEngineLauncher:数据库磁盘映像格式错误

    我为 Google App Engine 编写了一个小型应用程序 每次我想运行我的应用程序时 都会出现以下错误 Running dev appserver with the following flags skip sdk update c
  • php-mysql版本与Mysql服务器冲突

    我安装了 php 5 3 和 mysql 服务器 5 5 我需要安装 php mysql 但出现以下冲突 我该如何解决这个问题 yum install php mysql Loaded plugins fastestmirror Loadi
  • 使用 NGINX proxy_pass 进行 https 域的 Webpack 开发服务器原因:net::ERR_CONNECTION_CLOSED

    我已经设置了一个服务器 它托管一个前端的 angular2 webpack starter 项目和一个nodejs后端 nginx 默认有两个 proxy pass 将连接映射到服务器上的正确位置 几乎一切都按预期进行 但是代理存在问题so
  • 使用 PyMongo 连接数组因未知组运算符“$concatArrays”而失败

    我有 mongodb 数据 例如 word good info tbl id d1 term freq 2 tbl id d2 term freq 56 tbl id d3 term freq 3 word spark info tbl i