Используя функцию «command» драйвера 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 '.