Обновление MongoDB с использованием переменных функции PHP simplexml_load_string с добавлением дополнительного значения «0» к значению - PullRequest
0 голосов
/ 29 марта 2012

У меня есть скрипт, который пытается обновить коллекцию MongoDB с помощью xml-ответа, полученного от сервера. Я вызываю simplexml_load_string () в ответе. Однако при обновлении полей добавляется дополнительный ключ «0» к значению, которое я пытаюсь добавить. Вот код:

$xml = simplexml_load_string($response);
if($xml->type == "reject") {
    $status = $xml->type;
    $message = $xml->message;
}
$update = array('$set' => array('status' => $status, 'response' => $message));

Это то, что я ожидаю:

{ "_id" : ObjectID("..."), "status" : "reject", "response" : "The message." }

Однако вот запись, которая сохраняется в MongoDB:

{ "_id" : ObjectID("..."), "status" : { "0" : "reject" }, "response" : { "0" : "The message." } }

Есть идеи, что происходит, или предложения о том, как это исправить? Спасибо!

1 Ответ

0 голосов
/ 29 марта 2012

$xml->type и $xml->message, вероятно, объекты, а не строки. Возможно, вы захотите var_dump увидеть, что это на самом деле, а затем преобразовать его в строку.

...