php mongodb lookup,mongodb-在$lookup管道中使用$match$进行聚合
如果我有以下对象
obj
:
{
"abc1": "xyz1",
"abc2": "xyz2",
"abc3": "xyz3"
}
我想做一个聚合,比如:
db.collection.aggregate([
{
"$match": {
"_id": {
$in:
Object.keys(obj)
}
}
},
{
"$lookup": {
"from": "subdocument",
"pipeline": [
{
"$match": {
"_id": ObjectId(matching_value)
}
},
],
"as": "subdocument"
}
},
{ "$unwind": "$subdocument" }
])
我怎么得到
$lookup
要匹配对象键以匹配对象值的管道?有可能吗?
所以这是一个单一的数据库调用版本:
let obj = {
"abc1": "xyz1",
"abc2": "xyz2",
"abc3": "xyz3"
}
for (let key in obj)
{
db.collection.aggregate([
{
"$match": {
"_id":
ObjectId(key)
}
},
{
"$lookup": {
"from": "subdocument",
"pipeline": [
{
"$match": {
"_id": ObjectId(obj[key])
}
},
],
"as": "subdocument"
}
},
{ "$unwind": "$subdocument" }
])
}
示例集合
db.maindocuments
[
{
_id: "abc1",
data: "data"
},
{
_id: "abc2",
data: "data"
},
{
_id: "abc3",
data: "data"
}
]
db.subdocuments
[
{
_id: "xyz1",
data: "data"
},
{
_id: "xyz2",
data: "data"
},
{
_id: "xyz3",
data: "data"
}
]
php mongodb lookup,mongodb-在$lookup管道中使用$match$进行聚合相关推荐
- MongoDB学习笔记~管道中的分组实现group+distinct
2019独角兽企业重金招聘Python工程师标准>>> mongoDB的管道是个好东西,它可以将很多操作批处理实现,即将多个命令放入一个管道,然后去顺序的执行它们,今天我要说的是,利 ...
- java mongodb 语句,MongoDB语句
//库: show dbs //显示所有库 db //当前库 use 库名 //自动创建新库 db.dropDatabase() //删除库 show tables(co ...
- SpringBoot 集成 Spring Data Mongodb 操作 MongoDB 详解
一.MongoDB 简介 MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,且与关系数据库的最为相像的.它支持的数据结构非常松散,是类似 json 的 bso ...
- php mongodb aggregate,MongoDB aggregate 运用篇个人总结
最近一直在用mongodb,有时候会需要用到统计,在网上查了一些资料,最适合用的就是用aggregate,以下介绍一下自己运用的心得.. aggregate() 方法 MongoDB中聚合的方法使用a ...
- MongoDB:mongodb在项目开发时的安全验证、分页查询操作
MongoDB:mongodb在项目开发时的安全验证.分页查询操作. 对于数据库而言,在项目应用中都需要安全验证,不然,就会报错,呵呵-- 现在贴出来我在项目中是怎么做的. 原创文章,转载请注明出处: ...
- BigData之MongoDB:MongoDB基于分布式文件存储数据库的简介、下载、案例应用之详细攻略
BigData之MongoDB:MongoDB基于分布式文件存储数据库的简介.下载.案例应用之详细攻略 目录 MongoDB的简介 1.MongoDB的主要功能特性 2.对MongoDB进行增删改查( ...
- mongo 唯一约束索引_快速掌握mongoDB(三)——mongoDB的索引详解
1 mongoDB索引的管理 本节介绍mongoDB中的索引,熟悉mysql/sqlserver等关系型数据库的小伙伴应该都知道索引对优化数据查询的重要性.我们先简单了解一下索引:索引的本质就是一个排 ...
- PHP mongodb运用,MongoDB在PHP下的应用学习笔记
1.连接 mongodb默认端口是:27017,因此我们连接mongodb:$mongodb = new Mongo('localhost') 或者指定IP与端口 $mongodb = new Mon ...
- 安装MongoDB Install MongoDB on Ubuntu
MongoDB是一个基于分布式文件存储的数据库.由C++语言编写.旨在为WEB应用提供可扩展的高性能数据存储解决方案. MongoDB是一个介于关系数据库和 非关系数据库之间的产品,是非关系数据库当中 ...
- golang常用库之-mgo.v2包、MongoDB官方go-mongo-driver包、七牛Qmgo包 | go操作mongodb、mongodb bson
文章目录 golang常用库之-mgo.v2包.MongoDB官方go-mongo-driver包.七牛Qmgo包 | go操作mongodb.mongodb bson 一.[不推荐]mgo.v2包 ...
最新文章
- iOS 9音频应用开发基础教程(大学霸内部资料)
- Hive架构及安装部署(远程数据库模式MySQL)
- Qt Creator美化源代码
- 俞栋谈腾讯AI Lab进展;腾讯AI加速器第二期开始招募
- Pxe+Kickstart批量网络安装操作系统
- 如何用Python进行数据探索,探索竞赛优胜方案?
- LeetCode 19删除链表的倒数第N个节点-中等
- 封装js千分位加逗号和删除逗号
- 【python教程入门学习】零基础想转行学python,过来人提醒大家几点
- 一个小小Css3动画的案例
- linux内存——/proc/sys/vm/drop_caches
- 4.6 Spark SQL 数据清洗
- Android实现淘宝体验的商品列表排序分类点击事件
- 推荐几个2021年App数据统计平台,分析数据运营必备工具
- 5G智慧合杆的城市商业区应用
- MySQL数据库实操教程(18)——数据库事务及其隔离级别
- 使用git在项目中的一些经验
- 海康对讲系统人脸门口机详细接线图以及调试窗口
- 【Hive】Hive建表基本语法及解释
- 2-6 链表逆序及其C++实现