使用php MongoDB驱动程序“命令”函数,而不是将集合作为数组,而是将集合作为对象,每个项都是私有的ArrayObject。
$stores = $mongodb->command([
'geoNear' => 'stores',
'near' => [
'type' => 'Point',
'coordinates' => [
$lng,
$lat
],
],
'spherical' => true,
'maxDistance' => 30000,
]);
这是:
$results = $stores->toArray()[0]->results;
foreach($results as $result) {
var_dump($result);
}
返回:
object(MongoDB\Model\BSONDocument)[17]
private 'storage' (ArrayObject) =>
array (size=2)
'dis' => float 13002.060182992
'obj' =>
object(MongoDB\Model\BSONDocument)[16]
private 'storage' (ArrayObject) =>
array (size=4)
...
我想以公共数组的形式返回一个集合,这样我就可以在数组上array_map
,并使用‘dis’和‘obj’属性。
发布于 2018-06-14 16:48:48
尝试json_encode。否则,你必须去检查类的声明,并找到一种方法来检索所需的属性。
https://stackoverflow.com/questions/-100005387
复制相似问题