php и mongodb - получить результаты как коллекцию публичных массивов - PullRequest
0 голосов
/ 07 июня 2018

Используя функцию «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 '.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...