【发布时间】:2020-12-07 15:31:32
【问题描述】:
我有一些餐馆,我想用两个不同的条件查询它们并将它们合并在一起
我有两个聚合管道,一个是 $match,另一个是 $geoNear,
array:1 [▼
0 => array:1 [▼
"$match" => array:1 [▼
"$or" => array:1 [▼
0 => array:1 [▼
"$and" => array:2 [▼
0 => array:1 [▼
"country" => array:1 [▶]
]
1 => array:1 [▼
"$or" => array:1 [▼
0 => array:1 [▼
"$or" => array:1 [▶]
]
]
]
]
]
]
]
和
^ array:1 [▼
0 => array:1 [▼
"$geoNear" => array:5 [▼
"near" => array:2 [▶]
"distanceField" => "distance.calculated"
"spherical" => true
"key" => "location"
"query" => array:1 [▶]
]
]
]
我希望能够在一个管道中只打一个电话/获得所有非重复餐厅。 (一种识别它们的方法是使用 _id )
例如获取所有匹配 $match pipeline 的,与 $geoNear 相同,合并它们并删除重复项
【问题讨论】:
标签: php database mongodb mongoose