从php表单更新mongodb

从php表单更新mongodb,php,mongodb,Php,Mongodb,您好,我正在尝试更新一个嵌套数组。我做了一些研究,并提出了以下问题,但关于如何更新x=this的位置,答案并不十分清楚 链接 这一行看起来像我需要的,但我需要弄清楚如何使用它的更新部分,这是我的表单后脚本 $ID = $_POST["id"]; $NAMESTATE = $_POST["name"]; $REASON = $_POST["reason"]; require ('mongo.php'); if ($WISHNAMESTATE == "" and $ID == "") {

您好,我正在尝试更新一个嵌套数组。我做了一些研究,并提出了以下问题,但关于如何更新x=this的位置,答案并不十分清楚

链接

这一行看起来像我需要的,但我需要弄清楚如何使用它的更新部分,这是我的表单后脚本

$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"); 
我的数据库看起来像这样

array(
"_id"=>100000005,
"dclass"=>"Distributed",
    "fields"=>array(
"Name"=>array(
    "_0"=>"Testing",
),
"NameState"=>array(
    "_0"=>"PENDING",
),
 'setName': {
    '_0': 'test name'

因此,这篇文章需要做的是使用NAMESTATE值并用匹配的ID更新文档中的字段,请告诉我我是否在正确的轨道上。

$\u post
只包含字符串变量。如果文档的
\u id
字段为整数,则必须将其转换为int to
$id

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

我做了更多的研究,使用这个页面,我得到了这个
$m->更新({u id':$id,'fields.NameState.\u 0':$NameState})$m->update(array('_id' => (int) $ID),(array('fields.NameState._0' => $NAMESTATE)));