网站首页 > 基础教程 正文
1、主对象字段查询
2、数组字段数据的查询过滤(通过$filter处理)
查询SQL说明
主对象查询notice_code,同时需要查询符合条件的数组字段received_goods_details。首先对主对象进行数据过滤,以减少结果集。在管道的最后,子对象通过$filter处理。
但是经过上面这样处理之后,在业务处理逻辑上是说不通的,常规的列表查询,查询的思路是“有符合条件的才返回”,所以这里还最后还需要补充对组字段received_goods_details进行$filter处理之后,数组数据的长度必须大于0
最后用$or拼接SQL的意思是:如果同时查询多个数组字段,那么只要有一个数组字段能够查询出来数据,就可以返回文档
db.wms_receiving_listing.aggregate([
{
"$match": {
"$and": [
{
"notice_code": "202312072232"
}
]
}
},
{
"$sort": {
"sys_created_timestamp": -1
}
},
{
"$skip": 0
},
{
"$limit": 99999
},
{
"$project": {
"sys_creator": 1,
"_id": 1,
"owner_code": 1,
"ledger_code": 1,
"pending_total_qty": 1,
"notice_code": 1,
"received_goods_details": {
"$filter": {
"input": "$received_goods_details",
"as": "received_goods_details",
"cond": {
"$and": [
{
"$eq": [
"$received_goods_details.sn",
"FRU-200NVX2-PDB"
]
},
{
"$ne": [
"$received_goods_details.received_goods_details_id",
"567"
]
},
{
"$eq": [
"$received_goods_details.goods_id",
"FRU-200NVX2-PDB"
]
}
]
}
}
}
}
},
{
"$match": {
"$or": [
{
"received_goods_details.0": {
"$exists": true
}
}
]
}
}
])
猜你喜欢
- 2024-10-29 57个挑战之57(part6):客户端+web前端+服务端代码实现
- 2024-10-29 技术干货|MongoDB数据库常见操作命令
- 2024-10-29 ABP vNext框架文档解读28-数据过滤
- 2024-10-29 自建MongoDB实践:MongoDB 分片集群
- 2024-10-29 小程序 随机读取数据并生成分享图片 上手笔记
- 2024-10-29 go-mongox:简单高效,让文档操作和 bson 数据构造更流畅
- 2024-10-29 当MongoDB遇见Spark mongodb campass
- 2024-10-29 MongoDB 5.0 官方文档学习笔记 mongodb教程
- 2024-10-29 好东西,MySQL 数据库 MongoDB详解
- 2024-10-29 MongoDB 入门 day04 mongodb27017
- 05-14CSS基础知识(一) CSS入门
- 05-14CSS是什么? CSS和HTML有什么关系?
- 05-14什么是CSS3?
- 05-14CSS如何画一个三角形?
- 05-14初识CSS——CSS三角制作
- 05-14Wordpress建站教程:给图片添加CSS样式
- 05-14HTML和HTML5,css和css3的区别有哪些?
- 05-14Html中Css样式Ⅱ
- 最近发表
- 标签列表
-
- jsp (69)
- pythonlist (60)
- gitpush (78)
- gitreset (66)
- python字典 (67)
- dockercp (63)
- gitclone命令 (63)
- dockersave (62)
- linux命令大全 (65)
- mysql教程 (60)
- pythonif (86)
- location.href (69)
- deletesql (62)
- c++模板 (62)
- linuxgzip (68)
- 字符串连接 (73)
- nginx配置文件详解 (61)
- html标签 (69)
- c++初始化列表 (64)
- mysqlinnodbmyisam区别 (63)
- arraylistadd (66)
- console.table (62)
- mysqldatesub函数 (63)
- window10java环境变量设置 (66)
- c++虚函数和纯虚函数的区别 (66)