Привет, я пытаюсь обновить вложенный массив. Я провел некоторое исследование и придумал следующий вопрос, но ответ не совсем ясен, как обновить, где x = это.
LINK Как обновить вложенный массив
$yourArray["experience"][1]["from"] = 2006;
Эта строка выглядит так, как мне нужно, но мне нужно выяснить, как использовать ее часть обновления, это мой почтовый скрипт для моей формы.
$ID = $_POST["id"];
$NAMESTATE = $_POST["name"];
$REASON = $_POST["reason"];
require ('mongo.php');
if ($WISHNAMESTATE == "" and $ID == "")
{
echo("OOPS SOMETHING WENT WRONG!");
exit();
}
else
{
$m->update(array('_id' => $ID),(array('fields.NameState._0' => $NAMESTATE)));
header("refresh:0;url=names_test.php");
Мой db выглядит так.
array(
"_id"=>100000005,
"dclass"=>"Distributed",
"fields"=>array(
"Name"=>array(
"_0"=>"Testing",
),
"NameState"=>array(
"_0"=>"PENDING",
),
'setName': {
'_0': 'test name'
Так что это сообщение нужно сделать, это принять значение NAMESTATE и обновить это поле в документе с помощью соответствующего ID, Пожалуйста, дайте мне знать, если я нахожусь на правильном пути здесь.
$_POST
содержит только переменные String. Если поле _id
документов - Integer, вы должны быть отброшены до int до $ID
;
$m->update(array('_id' => (int) $ID),(array('fields.NameState._0' => $NAMESTATE)));