mongodb - MongoDB - 从文档/集合中仅返回匹配的报告/子节点
问题描述
如何仅从集合和嵌套报告或子对象中投影匹配的节点和文档
- cond:没有任何限制,过滤/匹配不限于文档
- cond:输出也可以是多条记录,就像我在下面的输入和输出中提到的
输入文件
{
"employee_no": 10001,
"name": "John",
"reportings": [
{
"employee_no": 11001,
"name": "Jo",
"reportings": [
{
"employee_no": 11101,
"name": "Kim",
"reportings": [
{
"employee_no": 11111,
"name": "Sun",
"reportings": []
}
]
}
]
},
{
"employee_no": 12001,
"name": "Dom",
"reportings": []
}
]
}
{
"employee_no": 10002,
"name": "Senn",
"reportings": [
{
"employee_no": 10001,
"name": "Jo",
"reportings": [
]
}
]
}
输出
过滤器 - “employee_no”:11101
{
"employee_no": 11101,
"name": "Kim"
}
过滤器 - "employee_no": {$in: [10001, 10002, 10001 ]}
record#1
{
"employee_no": 10001,
"name": "John"
}
record#2
{
"employee_no": 10002,
"name": "Senn"
}
过滤“employee_no”:{10001、11001、11101、11111}
{
"employee_no": 10001,
"name": "John",
"reportings": [
{
"employee_no": 11001,
"name": "Jo",
"reportings": [
{
"employee_no": 11101,
"name": "Kim",
"reportings": [
{
"employee_no": 11111,
"name": "Sun",
"reportings": []
}
]
}
]
}
]
}
过滤“employee_no”:{10001、11001}
{
"employee_no": 10001,
"name": "John",
"reportings": [
{
"employee_no": 11001,
"name": "Jo"
}
]
}
解决方案
推荐阅读
- excel - VBA Range.Find 识别所有单词“日期”并存储其位置
- python - 调试 CPython 内存碎片
- excel - Excel** 不同工作表中日期之间的小时时差
- react-native - 无法在 ReactNative 应用程序的 ListItem 中更改 Switch 的值
- matlab - 尝试运行使用 PSEXEC 打开 MATLAB 的批处理文件
- ios - 使用 .xib 启动屏幕更新旧 iOS 应用程序以满足 AppStore 的新故事板要求的最简单方法是什么?
- gd - 已安装 php-gd 但在 centos 7(php 7.3 版本)中无法运行
- typescript - 我可以从函数的返回类型推断元组类型,而不使用'as const'吗?
- c++ - QTableWidgetItem 的取消选择事件
- r - r summary_if 有多个条件