有人可以帮我转换这个查询的php吗?
db.job_crwaled.aggregate([{
"$geoNear": {
"near": {
"type": "Point",
"coordinates": [72.86,19.07]},
"spherical": true,
"maxDistance": 5000,
"distanceField": "distance",
"query": { "title": /sales/ }
}
}
])
答案 0 :(得分:1)
试试这个让我知道这项工作
$test = array(
array('$geoNear' = array(
'near' => array(
'type' => 'Point',
'coordinates' = array(72.86, 19.07)
),
'spherical' => true,
'maxDistance' => 5000,
'distanceField' => 'distance',
'query' => array('title' => '/sales/')
),
),
);
我不确定代码中/sales/
是什么。如果那只是一个string
那么它是好的,否则如果它有一些值,将它保存在变量上并用代码上的变量替换它。
如果您尝试了一些代码,请告诉我们您的代码。
答案 1 :(得分:0)
在做了很多R& D之后,我得到了解决方案:
$c = $crawlingCollection->aggregate(
[
[ '$geoNear'=> [
'near'=> [
'type'=> 'Point',
'coordinates'=> [
72.86,
19.07
]
],
'spherical'=> true,
'maxDistance'=> 5000,
'distanceField'=> 'distance',
'query' => ['title'=> array('$regex' => 'sales')]
]]
]
);
php正在阻止这个/ sales / keyword这就是为什么结果不会出现所以我使用$ regex关键字并且它有效。