您好我试图更新嵌套数组我做了一些研究并提出了以下问题,但答案并不清楚如何更新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更新文档中的那个字段。如果我在这里,请告诉我。
答案 0 :(得分:1)
$_POST
只包含String变量。如果文件' _id
字段为Integer,您必须转换为int $ID
;
$m->update(array('_id' => (int) $ID),(array('fields.NameState._0' => $NAMESTATE)));