Обновление mongodb из php формы

0

Привет, я пытаюсь обновить вложенный массив. Я провел некоторое исследование и придумал следующий вопрос, но ответ не совсем ясен, как обновить, где 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, Пожалуйста, дайте мне знать, если я нахожусь на правильном пути здесь.

Теги:

1 ответ

1
Лучший ответ

$_POST содержит только переменные String. Если поле _id документов - Integer, вы должны быть отброшены до int до $ID;

$m->update(array('_id' => (int) $ID),(array('fields.NameState._0' => $NAMESTATE)));

Ещё вопросы

Сообщество Overcoder
Наверх
Меню