当前位置: 首页 > 编程笔记 >

在MongoDB上实现类似于MySQL Union的查询?

佘辰龙
2023-03-14
本文向大家介绍在MongoDB上实现类似于MySQL Union的查询?,包括了在MongoDB上实现类似于MySQL Union的查询?的使用技巧和注意事项,需要的朋友参考一下

对于类似于UNION两个集合的查询,请在MongoDB中将JOIN与一起使用aggregate()。让我们创建一个包含文档的集合-

> db.demo486.insertOne({_id:1,"Amount":30,"No":4});
{ "acknowledged" : true, "insertedId" : 1 }
> db.demo486.insertOne({_id:2,"Amount":40,"No":2});
{ "acknowledged" : true, "insertedId" : 2 }
> db.demo486.insertOne({_id:3,"Amount":60,"No":6});
{ "acknowledged" : true, "insertedId" : 3 }

find()方法的帮助下显示集合中的所有文档-

> db.demo486.find();

这将产生以下输出-

{ "_id" : 1, "Amount" : 30, "No" : 4 }
{ "_id" : 2, "Amount" : 40, "No" : 2 }
{ "_id" : 3, "Amount" : 60, "No" : 6 }

以下是使用文档创建第二个集合的查询-

> db.demo487.insertOne({_id:1,"Price":10,"No":4});
{ "acknowledged" : true, "insertedId" : 1 }
> db.demo487.insertOne({_id:2,"Price":80,"No":9});
{ "acknowledged" : true, "insertedId" : 2 }
> db.demo487.insertOne({_id:3,"Price":20,"No":6});
{ "acknowledged" : true, "insertedId" : 3 }

find()方法的帮助下显示集合中的所有文档-

> db.demo487.find();

这将产生以下输出-

{ "_id" : 1, "Price" : 10, "No" : 4 }
{ "_id" : 2, "Price" : 80, "No" : 9 }
{ "_id" : 3, "Price" : 20, "No" : 6 }

以下是在MongoDB中对UNION的两个查询-

> db.getCollection('demo486').aggregate([
... {$lookup : { from : "demo487",localField : "No", foreignField :"No", as:"demo487"}},
... {$unwind : "$demo487"},
... {
...    $group : {
...       _id : {
...          No :"$No",
...       },
...       TotalValue : { $sum : { $add: [ "$Amount", "$demo487.Price" ] }}
...    }
... },
... {$sort : {"_id.No":1}},
... {
...    $project : {
...       No :"$_id.No",
...       TotalValue : 1,
...       _id : 0
...    }
... }
... ])

这将产生以下输出-

{ "TotalValue" : 40, "No" : 4 }
{ "TotalValue" : 80, "No" : 6 }
 类似资料:
  • 我试图在netlogo中实现一个拍卖概念——它类似于餐饮哲学家问题程序。 我的程序处理与用餐哲学家程序中的哲学家和叉子相对应的计算机和处理器。在哲学家程序中,用户需要两把叉子才能吃饭,但在计算机和处理器中,一台计算机需要一个处理器才能工作。 我的程序中定义的状态是:,,,对应于哲学家程序中的,,。 目前,我的程序将所有计算机的状态更改为。我有问题在获取服务器的计算机。 代码片段是-

  • 有了这个jdk代码在, java编译器只有注释声明,它足够智能,可以检测错误(编译时): 在下面的问题代码中。 的注释声明刚刚编译为, 它只不过是一个。 所以 语法是否帮助java编译器在编译时检测上述错误?

  • 有没有办法只在满足条件时才在Javafx中“渲染”组件?我有兴趣做一个具有不同角色的用户界面,如果角色允许,只需添加一个组件,我也想继续使用FXML。我没有读过类似的东西。

  • 本文向大家介绍基于jquery实现的文字向上跑动类似跑马灯的效果,包括了基于jquery实现的文字向上跑动类似跑马灯的效果的使用技巧和注意事项,需要的朋友参考一下 想实现一个类似跑马灯的效果,发现跑马灯有空格.效果也不美观,于是用jquery写了个 页面代码 js代码

  • 假设我们有一个 SPA,它依赖于我的应用程序中的 API。SPA 和 REST API 都托管在同一台服务器上。现在,我正在使用基于 SAML 的 IDP 发起的联合 SSO。 我清楚地知道参与的各方以及信任是如何建立的。 对于我们需要与之集成的每个客户,首先从我的web应用程序端获取IDP ID、数字证书等配置详细信息,并共享SAML ACS URL等详细信息 在客户端,他们使用我们提供的SAM

  • 想要实现一个如下图的页面, 尝试过echarts 但是性能很卡, 最后放弃了 又看了hightcharts 的甘特图, 最后都没有实现 想问一下有没有大佬做过类似的功能, 需要鼠标缩放, 还有左右拖动 希望能够得到指点