MongoDB中进行关联查询的前提是什么,SQL语句如何写
Admin 2022-06-09 群英技术资讯 310 次浏览
需求:把订单表(PrepurchaseOrder)和用户表(User)通过邮箱(emaiL)进行关联,查找订单用户对应的钱包地址。
订单表结构如下:
{ "email" : "haifeng@163.com", "productName" : "中型2GPU矿机", }
用户表结构如下:
{ "email" : "15077550@qq.com", "neoWalletAddress" : "aabbccdd", }
最终的sql如下:
db['PrepurchaseOrder'].aggregate([{ $lookup:{ from:"User", localField:"email", foreignField: "email", as: "Users" }}, { $unwind: "$Users" }, { $match : { "Users.neoWalletAddress" : {$exists:true} }}, { $project: { productName: 1,count:1,email:1,"Users.neoWalletAddress":1}}, ])
sql解析:
1.from:"User" 表示从User表中去查
2.localField:"email",表示订单表(PrepurchaseOrder)中的邮箱。
3.foreignField: "email",表示用户表(User)中的邮箱。
4.as: "Users",表示把从User表中查询出的内容作为一个Users变量,附加到订单表(PrepurchaseOrder)
5.{ $unwind: "$Users" },表示把从User表中查询的数据字段,作为订单表(PrepurchaseOrder)中的字段
6. $match,表示进行值的匹配,匹配User表中钱包地址不为null的。
7. $project,表示指定显示哪些字段。
最终导出的数据如下图:
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
mongodb中插入图片的方法:使用GridFS类即可插入图片,先使用new GridFS(db)方法获取gridFS对象,然后使用gridFS.createFile()方法写入图片。
mongodb客户端建表的方法:1、从shell登录mongodb客户端。2、直接使用use命令选择数据库,然后使用insert命令往表中插数据即可自动创建数据库与表。
MongoDB GridFS GridFS 用于存储和恢复那些超过16M(BSON文件限制)的文件(如:图片、音频、视频等)。 GridFS 也是文件存储的一种方式,但是它是存储在MonoDB的集合中。 GridFS 可以更好的存储大于16M的文件。 GridFS 会将大文件对象分割成多个小的chunk(文件片段),一般为256k/个,每个chunk将作为MongoDB的一个文档(document)被存储在chunks集合中。 Gr..
本文主要给大家的介绍的关于MongoDB分片键的选择,对于MongoDB分片键不熟悉和不知道如何挑选MongoDB分片键的朋友可以参考,下面我们一起来了解一下MongoDB分片键。
mongodb数据库的使用方法:建立一个mongo文件夹作为数据库真实存放的位置,打开cmd,输入“mongod --dbpath(路径)”命令打开数据库,再打开一个cmd输入“mongo”命令连接数据库,然后就可以进行数据库操作了。
成为群英会员,开启智能安全云计算之旅
立即注册Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008