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