У меня проблемы с хранением некоторых 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
, если это имеет какое-либо значение.