Я использую MongoDB (версия 2.4.1) для хранения информации из файлов XML. Во время процесса синтаксического анализа XML я создаю SimpleXMLElement для каждого описания элемента. Вот код для вставки нового документа:Вставить php SimpleXMLElement в MongoDB
$response = $collection->insert($object, array('safe'=>true, 'fsync'=> true)),
где $ object имеет тип SimpleXMLElement.
Проблема заключается в том, что мне нужно, чтобы получить идентификатор вставленной документа, но когда я пытаюсь получить его после операции вставки она возвращает NULL:
$response = $collection->insert($object, array('safe'=>true, 'fsync'=> true)),
die(var_dump($object));
Это ожидаемое поведение для операции «вставить»?
Как вы ожидаете, что драйвер PHP будет вставлять этот объект? Или, скорее, как вы ожидаете, что это сработает? Я бы сказал, что это очень ожидалось. – Sammaye
@Sammaye На самом деле, я бы ожидал, что свойство '_id' объекта' $ object' будет установлено в новый экземпляр MongoId, но я не использовал драйвер PHP MongoDB для других, простых объектов. По какой-то причине это не должно работать, что мне не хватает? :) –
, потому что это объект SimpleXMLElement? – Sammaye