在MongoDB的$lookup函数中使用字段值

编程入门 行业动态 更新时间:2024-10-14 22:20:05
本文介绍了在MongoDB的$lookup函数中使用字段值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

当前我面临一个问题,即我希望基于变量联接Mongo中的集合,因为数据存储在不同的集合中。

我的数据集将如下所示

{ _id:5e424331134cea013014ea9e0, process:"Process1", event:"Event1", collection:"Collection1", Date:"2020-02-11", }, { _id:5e424135151cea32114ea9e0, process:"Process2", event:"Event2", collection:"Collection2", Date:"2020-02-11", }

我需要从中获取数据的集合维护在$collection字段的值中。

这些集合如下所示:

集合1:

{ _id:5e63636636cea32114ea9e0, item:81740147, value:2, Date:"2020-02-11", }

集合2:

{ _id:5e63636636cea32114ea9e0, user:testuser, age:3, Date:"2020-02-11", }

我希望在聚合管道中实现的功能是基于集合名称联接我的文档。

我已经尝试的内容:

{ $lookup: { from: '$collection', localField: 'Date', foreignField: 'Date', as: 'join' } }

这对我不起作用。 也许你有不同的想法。

请记住,我只能使用聚合框架来解决问题,而不能使用MongoDB的CLI。

推荐答案

将其更改为如下所示

{ $lookup: { from: 'collectionname', // the name you specified when creating your model localField: 'Date', foreignField: 'Date', as: 'join' } }

它必须与您创建模型时使用的相同,否则将不起作用

如果您的集合名称是动态的,

您始终可以在那里使用变量

就像你可以做这样的事情

var coll_name = 'collectionname'; { $lookup: { from: coll_name, localField: 'Date', foreignField: 'Date', as: 'join' } }

现在,您可以将此动态集合名称从任何位置传递到您的函数/API

更多推荐

在MongoDB的$lookup函数中使用字段值

本文发布于:2023-11-27 13:09:19,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1638204.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:字段   函数   MongoDB   lookup

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!