问题标签 [mongodb-lookup]

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.

0 投票
1 回答
843 浏览

node.js - 如何使用 mongodb nodejs 驱动程序在 $lookup 中使用 ObjectId

请帮我找到合适的解决方案

集合被存储用户详细信息app_users

用户预订存储的集合

我正在使用的查找(左连接)查询是

我想从用户集合中选择具有相应用户详细信息的预订,但它返回空白,因为 mongodb 正在将字符串与 objectId 进行比较,所以有什么方法可以执行此任务?

0 投票
1 回答
1050 浏览

mongodb - Mongodb - $group 与 $addToSet 然后 $lookup

我有以下查询

结果是

现在我想用集合“areas”查找每个department_city_id以获取该区域的“名称”,并使用集合“stations”查找每个department_station_id以获取车站的“名称”

结果可能是这样的

}

0 投票
0 回答
38 浏览

java - Mongodb $lookup 如何将带有 $id 的字段加入到 $id.toString

我有两个系列

集合1

集合2

我正在尝试使用以下代码加入这两个集合,但它似乎不起作用,我缺少什么吗?我在 Spring boot 和 maven 版本 3.7.0 上执行此操作

0 投票
1 回答
3940 浏览

node.js - MongoDB 聚合 - $lookup 性能

我使用 MongoDB 3.6 聚合和查找来加入两个集合(用户和订阅用户)。

我的目标是查询 suscriptionusers 并加入用户集合,匹配开始和结束日期,以便获得订阅的一些分析,例如订阅用户的国家、年龄范围和性别,并在折线图中显示数据。我正在这样做:

主要关注的是性能。例如,对于大约 150.000 个订阅者,查询大约需要 7~8 秒来检索信息,我担心百万订阅者会发生什么,因为即使我设置了记录限制(例如只检索数据两个月之间),在此期间可能有数百个订阅者。

我已经尝试为 user_id 字段创建订阅用户集合的索引,但是没有改进。

我的问题是,我是否应该将字段(国家、年龄范围和性别)也保存在订阅用户集合中?因为如果我在不查找用户集合的情况下进行查询,则该过程足够快。

或者有没有更好的方法来使用我当前的方案来提高性能?

非常感谢 :)

编辑:只是考虑到,用户可以订阅多个频道,正因为如此,订阅不会保存在用户集合中

0 投票
1 回答
1073 浏览

mongodb - 带有两个 $concat 字段的 $lookup

鉴于这些文件:

如何执行 $lookup 来检索这样的文档(不更改文档):

0 投票
0 回答
30 浏览

mongodb - $lookup 似乎匹配 null 作为查找信息

对于没有 id_bidon 的文档,我进行了以下查找并给出了奇怪的结果。这就像它默认为 null 并匹配到第一个没有 id_client_bidon 的文档。有没有解决的办法?

编辑(2019-02-04):如果我的收藏中的文档没有 id_bidon,它将被视为 null,并将链接到 id_client_bidon 为 null 的书。

0 投票
1 回答
468 浏览

mongodb - $lookup 管道中本地字段(嵌套字段)的 $match 值不是空字符串

我不能在查找管道表达式上使用嵌套字段来仅获取非空字符串值。

我正在执行具有 2 个查找阶段的聚合查询,其中第二个查找查询取决于第一个查找结果的嵌套字段。我真的无法弄清楚我的代码有什么问题。

我只想拥有一个产品组,并且只获取文章所属组的发票行并获取组详细信息。

当我运行上面的代码(用 PHP 语言转换)时,我得到

表示表达式的对象必须只有一个字段:{ $ne: [ "", "$$group_id" ] ...

0 投票
1 回答
59 浏览

node.js - MongoDB $查找具有不同值的对象数组

我有两个 MongoDB 集合,我想用图像对象替换所有 ID。

数据集集合:

图片集:

这就是我尝试并得到的结果:

结果 :

我想要的是 :

它工作了一半,因为我得到了正确的信息,但不是一个数组。我不想要一组 RGB/IR 和 LBL 图像,而是一组包含一个 RGB/IR/LBL 图像的对象。

我也尝试使用 unwind,但我没有任何相关信息。

0 投票
1 回答
112 浏览

mongodb - mongo db查询中的嵌套查找

我正在制作一个航空公司虚拟网站,我需要获取所有航空公司每个航班的所有已售机票,我有 3 个集合:航空公司、航班和销售

我尝试在 mongodb 查询中使用嵌套查找,但我无法计算总票数,这是当前查询和结果:

结果是:

实际上,fligth CPA-001 已售出 6 张门票,但我无法得出结果。

以下是文件:

航空公司

航班

销售量

0 投票
1 回答
182 浏览

mongodb - 在 MongoDB 聚合查找中使用以 $ 开头的字段

我有一个使用 Spring Data 的 Spring 应用程序填充的 MongoDB 数据库。我想执行手动查询以加入两个集合并从这些数据中提取一些统计信息。

第一个集合被命名emailCampaign并包含以下信息(简化):

第二个集合被命名campaignDelivery并包含以下信息(简化):

最终我想获得两个deliveries字段的总和,但现在我坚持使用基本的 JOIN:

引发以下错误:

FieldPath 字段名称可能不以“$”开头。

逃离美元没有任何影响,我也找不到任何以美元开头的领域的例子。