从php表单更新mongodb

时间:2014-11-10 13:49:10

标签: php mongodb

您好我试图更新嵌套数组我做了一些研究并提出了以下问题,但答案并不清楚如何更新x = this。

LINK How to updated nested array

$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"); 

我的数据库看起来像这样。

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

那么这篇文章需要做的是取值NAMESTATE并使用匹配的ID更新文档中的那个字段。如果我在这里,请告诉我。

1 个答案:

答案 0 :(得分:1)

$_POST只包含String变量。如果文件' _id字段为Integer,您必须转换为int $ID;

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