Сохранение объекта MongoDB в кеше Redis - PullRequest
1 голос
/ 21 июня 2019

У меня проблемы с хранением некоторых MongoDb объектов в Redis cache.

Я получаю элементы из базы данных следующим образом:

$cursor = $this->manager->executeQuery($this->collection, $query);

, который возвращает objectкласса MongoDB\BSON\Cursor.

Поскольку я не могу сохранить это в кэше Redis, я пытаюсь преобразовать его в массив для этого.

Я попробовал следующие вещи:

$redis_cursor = \MongoDB\BSON\toJSON(\MongoDB\BSON\fromPHP($cursor->toArray()));

, который выдает следующую ошибку: Serialization of 'MongoDB\BSON\ObjectID' is not allowed

Я также пробовал это:

$redis_cursor = \MongoDB\BSON\toJSON(\MongoDB\BSON\fromPHP($cursor->toArray()));

, который выдает это: Cursors cannot yield multiple iterators

Другая попыткабыло это:

$redis_cursor = \MongoDB\BSON\toJSON(\MongoDB\BSON\fromPHP($cursor));

, который возвращает empty string

Что бы я ни пытался, я в значительной степени получаю одну из двух ошибок, упомянутых выше.Буду признателен за любую помощь!

Я использую mongodb version 1.1.5, если это имеет какое-либо значение.

...