聚合管道中的一个阶段产生以下集合:
{
_id : {
airport : "SGF",
minEffect : "security_delay",
delayType : "arr_delay",
}
}
{
_id : {
airport : "MIA",
minEffect : "weather_delay",
delayType : "weather_delay",
}
}
{
...
}
我想减少集合中的文档,只获取minEffect
的值等于delayed Type
的值的文件。
为什么以下代码不起作用?
{$match:{"_id.delayType":"$_id.minEffect"}}
对于上面的示例,预期结果需要如下:
{
_id : {
airport : "MIA",
minEffect : "weather_delay",
delayType : "weather_delay",
}
}
{
...
}
答案 0 :(得分:2)
您可以按照以下方式使用。
{
$match: {
$expr: {
$eq: [
"$_id.minEffect",
"$_id.delayType"
]
}
}
}