$lookup 具有相同的集合

2024-02-01

我是 MongoDB 新手,所以我不确定我的问题表述是否正确。

我有一个集合,其中的数据如下所示:

{ 
    "_id" : ObjectId("66666"), 
    "Id" : 994, 
    "PostType" : 1, 
    "AnswerId" : 334, 
    "CreationDate" : ISODate("1994-09-05T09:34:36.177+0000"), 
    "Tags" : "test", 
    "Parent" : null, 
}

{ 
    "_id" : ObjectId("8888"), 
    "Id" : 334, 
    "PostTypeId" : 2, 
    "AnswerId" : NaN, 
    "CreationDate" : ISODate("20005-08-03T11:29:42.880+0000"), 
    "ParentId" : 994
}

两个文档都在同一个集合中,我尝试使用 PostType:1 文档中的 AnswerId,并使用该值作为主 Id 来提取其 CreationDate。

这是我试图实现的逻辑,但它似乎不起作用:

db.collection.aggregate([
    {$project:{_id:"$Id", Title:"$Title", Answerid:"$AnswerId", QuestionDate:"$CreationDate"}},
    {$match:{Id:"$Answerid"}},
    {$project:{AnswerDate:"$CreationDate"}}
])

我愿意接受任何建议。


您可以在 mongodb 中尝试以下聚合3.6以上

db.collection.aggregate([
  { "$match": { "Id": 2627 }},
  { "$lookup": {
    "from": "collection",
    "let": { "answerId": "$AnswerId" },
    "pipeline": [{ "$match": { "$expr": { "$eq": ["$Id", "$$answerId"] }}}],
    "as": "dates"
  }}
])

或者与3.4以上

db.collection.aggregate([
  { "$match": { "Id": 2627 }},
  { "$lookup": {
    "from": "collection",
    "localField": "AnswerId",
    "foreignField": "Id",
    "as": "dates"
  }}
])
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

$lookup 具有相同的集合 的相关文章

  • 调试VS 2005提示“操作不支持”

    我一直在调试 VS 2005 并将 启动外部程序 设置为 C Program Files Microsoft Visual Studio 10 0 Common7 IDE devenv exe 但按 F5 后出现此错误 尝试运行项目时出错
  • 如何让JComboBox中的内容居中显示?

    目前我有这个JComboBox 我怎样才能将其中的内容居中 String strs new String 15158133110 15158133124 15158133458 JComboBox com new JComboBox str
  • Android Jasper 报告

    Jasper Reporting 可以集成到 Android 应用程序中吗 我正在尝试从 jrxml 文件生成 PDF CSV 文本和 XLS 报告 但是 我没有看到 Android SDK 支持 net sf jasperreports
  • 查找总和为给定数字的值组合的函数

    这个帖子查找提供的 Sum 值的组合 https stackoverflow com a 20194023 1561176呈现函数subsets with sum 它在数组中查找总和等于给定值的值的组合 但由于这个帖子已经有6年多了 我发这
  • 如何为不同操作系统/Python 版本编译 Python C/C++ 扩展?

    我注意到一些成熟的Python库已经为大多数架构 Win32 Win amd64 MacOS 和Python版本提供了预编译版本 针对不同环境交叉编译扩展的标准方法是什么 葡萄酒 虚拟机 众包 我们使用虚拟机和Hudson http hud
  • 查询联系人 - 有时返回空游标

    我正在尝试查询联系人的显示名称 Override public void onActivityResult int requestCode int resultCode Intent data switch requestCode case
  • Swing:创建可拖动组件...?

    我在网上搜索了可拖动 Swing 组件的示例 但我发现示例不完整或不起作用 我需要的是一个摇摆组件那可以是dragged通过鼠标 在另一个组件内 被拖拽的时候 应该已经 改变它的位置 而不仅仅是 跳 到目的地 我很欣赏无需非标准 API 即
  • 如何检查设备上是否安装了文本转语音 (TTS) 的特定语言数据?

    我正在创建一个使用文本转语音的应用程序 我希望用户能够离线使用它 因此我检查设备上是否安装了 TTS 数据 以下是执行此操作的代码 Check tts data is installed Intent checkTTSIntent new
  • RichFaces 应用程序,我应该使用 rich:dataTable 还是 jQGrid,优缺点吗?

    继从here https stackoverflow com questions 3899649 ok to wrap jsf components generated html with own divs using jquery aft
  • 在 javascript 中使用 xPath 解析具有默认命名空间的 XML

    我需要创建一个 XML xPath 解析器 所有解析都必须在客户端进行 使用 JavaScript 我创建了一个 javascript 来执行此操作 在默认名称空间发挥作用之前 一切看起来都正常 我根本无法查询具有默认命名空间的 XML 我
  • C++ Boost ASIO 简单的周期性定时器?

    我想要一个非常简单的周期性计时器每 50 毫秒调用我的代码 我可以创建一个始终休眠 50 毫秒的线程 但这很痛苦 我可以开始研究用于制作计时器的 Linux API 但它不可移植 I d like使用升压 我只是不确定这是否可能 boost
  • ggplot2 的 fortify 函数出错

    我在 ggplot2 中使用 fortify 方法时收到此错误 Error in function classes fdef mtable unable to find an inherited method for function pr
  • 在门户中查看 Azure WebJob 计划?

    我创建了一个简单的 Azure WebJob 并通过 Visual Studio 集成制定了每天运行一次的计划 我已经部署了 WebJob 并看到它列在我在 Azure 上的应用程序中 schema http schemastore org
  • Apache Beam Pipeline 写表后查询表

    我有一个 Apache Beam Dataflow 管道 它将结果写入 BigQuery 表 然后我想查询该表以获取管道的单独部分 但是 我似乎无法弄清楚如何正确设置此管道依赖性 我编写的新表 然后想要查询 与一个单独的表连接以进行某些过滤
  • 根据列中的部分字符串匹配选择数据框行

    我想根据列中字符串的部分匹配从数据框中选择行 例如列 x 包含字符串 hsa 使用sqldf if它有一个like语法 我会做类似的事情 select from lt gt where x like hsa 很遗憾 sqldf不支持该语法
  • 小于或等于

    使用暂停命令我发现错误位于此代码的第一行 if choice 1 if energy gt m2enc set a enemhp enemhp m1hpd earmr pause set a energy energy m1enc set
  • CLion - 命令行程序参数

    当我分配给 运行 调试配置 程序参数 之类的 aaa bbb 然后打印它时 任何人都可以告诉我 JetBrains CLion 有什么问题吗 printf s n argv 1 我刚刚得到 aaa 而它必须是 aaa bbb 因为它们用双引
  • 从 npm 脚本运行时,eslint 不会报告任何错误

    我已经使用 npm init eslint config 安装了带有 typescript 的 eslint 然后将 lint 脚本添加到我的 package json 中 但是当我运行 npm script lint npm run li
  • 无法将 /root/.rnd 加载到 RNG 中

    我想使用 Windows Open SSL 生成服务器证书 当我运行此命令行时 出现此错误 我应该怎么办 Command openssl req new x509 days 3650 key ca key out ca crt Error
  • jQuery:动态添加 DOM 元素时尝试将函数挂钩到 onclick,但它立即执行该函数

    我正在使用 jQuery 动态 我的意思是在运行时 向页面的 DOM 添加一个 span 元素 create add task button document createElement span attr id activityNameH

随机推荐

  • Python __dict__

    属性 dict 应该包含用户定义的属性 但是如果我们打印 dict 一个空的类 我还会得到 module dict weakref doc 哪些是由 Python 预先填充的 dict 相应于类对象类型的属性 Now base and cl
  • 主 NSWindow 阴影不会像子窗口那样改变

    我的应用程序中的主窗口是无边框的 self window setStyleMask NSBorderlessWindowMask 从该窗口 我还打开其他子窗口 当我在其他子窗口之间单击时 我看到当该子窗口被单击并成为焦点窗口时 这些子窗口的
  • 如何使嵌套双引号在 bash 解释器中幸存下来?

    鉴于下面的上下文 是否存在任何可以插入到 WGETOPT 定义中的神奇语法 以允许 吸收 USERAGENT 变量 并且仍然允许调用 wget 命令 如下所示syntax 1 我目前已经求助于使用 eval 但我对此并不满意 但也许这是我可
  • 根据 React.Js 中第一个下拉列表中的选择填充第二个下拉列表

    我正在学习反应并努力根据从第一个下拉列表中单击的选项来填充第二个下拉列表 我在下面包含了我的代码 我认为问题在于我尝试设置的位置this state selected param tableName 我认为这行不通 但我不知道该用什么来代替
  • SVG 作为 CSS 背景 - 有没有办法重复 x 且中间没有空格?

    在基于 Webkit 和 Blink 的浏览器中 SVG 无法正确平铺 不同缩放级别的图像之间存在间隙 StackOverflow 上有许多主题解决了这个问题 所有主题都标记为已解决 但这些人一定没有足够彻底地测试他们的解决方案 我的 SV
  • Groovy Abstract ConcurrentMap 中的错误?

    抽象ConcurrentMap http grepcode sadcom file repo1 maven org maven2 org codehaus groovy groovy all 2 4 3 org codehaus groov
  • 是否可以使用VBA单击报表记录以在Access中打开相关表单

    我有一份包含工作 任务详细信息的报告 还有一个为该报告提供大部分数据的表格 鉴于报告是查看数据大图的好方法 而表单是编辑数据的最佳方法 我希望能够单击一行 并让它打开相关记录表单视图 有谁知道如何通过VBA 做到这一点 在我看来 这应该是可
  • 我可以在不可变类中使用 StringBuilder

    如果我创建一个不可变的类 所有字段都必须是最终的 如果我像这样使用 stringbuilder 最终 StringBuilder s new StringBuilder Hello 那么append函数可以追加s的值并且类不会是不可变的 请
  • 如何通过排序、分区和分组进行行编号

    我需要通过排序 分区和分组进行行编号 订购依据IdDocument DateChange 划分为IdDocument并分组依据IdRole 问题尤其出在分组上 从例子中可以看出 NumberingExpected DENSE RANK 必须
  • ASP.NET MVC Web 应用程序无法通过 Arvixe 托管的 IIS 服务器上的 SMTP 发送电子邮件

    我迫切需要帮助解决这个问题 如何让我部署的应用程序通过 SMTP 将电子邮件发送到任何地址 我正在 Visual Studio 2015 ASP NET MVC 中开发基于 Web 的销售跟踪应用程序 该网站将托管在 Arvixe Busi
  • 我想使用 StringTokenizer 搜索字符串,但我正在查找的字符串中有分隔符 - Java

    我有一个名为quotes txt 的外部文件 我将向您展示该文件的一些内容 1 Everybody s always telling me one thing and out the other 2 I love criticism jus
  • Java编译器的内部架构[关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我一直在努力Java从8年多开始 上周 在我公司的一次小型会议上 我的一位同事问我到底如何Java Compiler工作 我无言以对
  • C++ 中整数可以是 NaN 吗?

    我可以设置一个int to NaN 如果是 那么我如何检查是否int is NaN or not 不 NaN 是浮点值 每个可能的值int是一个数字 Edit 标准说 6 2 6 240 某些填充位组合可能会产生陷阱 表示 例如 如果一个
  • 变量声明的行为如何?

    include
  • SQL Server 中区分大小写的变量

    我有一个包含多个数据库的 SQL Server 我希望其中一个数据库对变量名称区分大小写 而其他数据库则不区分大小写 我需要更改设置 以便可以运行此脚本而不会出现错误 DECLARE A int DECLARE a int 如何将一个数据库
  • Google App Engine:通过 Python 使用自定义入口点

    我开始学习 Google App Engine 并使用 Flask 应用程序编写了一个基本的 main py 文件 该文件运行良好 这是前几行代码 from flask import Flask jsonify app Flask name
  • 与 Jackson 2.9.2 兼容的 Jersey 版本有哪些

    您能帮我解决这两个疑问 问题吗 任何使用过 Jackson 2 9 2 的人都可以告诉我 Jackson 2 9 2 的兼容 Jersey 版本是什么 我目前使用 Jersey 2 23 2 但它不适用于 Jackson 2 9 2 我收到
  • 使用 Kusto 获取每组的前 1 行

    我有一个表 我想使用 Kusto 查询语言获取每个组的最新条目 这是表格 文档状态日志 ID DocumentID Status DateCreated 2 1 S1 7 29 2011 3 1 S2 7 30 2011 6 1 S1 8
  • 发送电子邮件意向

    Intent intent new Intent Intent ACTION SEND intent setType text html intent putExtra Intent EXTRA EMAIL email protected
  • $lookup 具有相同的集合

    我是 MongoDB 新手 所以我不确定我的问题表述是否正确 我有一个集合 其中的数据如下所示 id ObjectId 66666 Id 994 PostType 1 AnswerId 334 CreationDate ISODate 19