用 jenssegers/MongoDB 作坐标查询报错,如何构建条件?
在处理mongodb 的geo查询时,下面这个条件在mongo中是可以查询到数据的
db.collections.find(
{
'hotel.geo': {
$near: {
$geometry: {
type: "Point",
coordinates: [118.797924, 31.968725]
},
$maxDistance: 5000
}
}
}
)
但是在jenssegers/mongodb 的ORM中构建 查询时总是报错
$whereRaw['hotel.geo'] = [
'$near' => [
'$geometry' => [
'type' => 'Point',
'coordinates' => [(float)$positions['landmark'][0], (float)$positions['landmark'][1]]
],
'$maxDistance' => 500 * 1000 //5公里
]
];
$items = MongoORM::whereRaw($whereRaw)
返回错误:
$near is not allowed inside of a $match aggregation expression
请教一下该如何构建查询条件呢?
推荐文章: