通过PHP进行MongoDB更新$ set查询可能有什么问题?

时间:2012-02-06 15:23:04

标签: php mongodb

我对某个系列的更新感到有点困惑。

所以,我有这个问题:

$coll->update(
            array("_id" => new MongoId($_POST["id"])),
            array("$set" => array(
                "contentType" => htmlspecialchars(strip_tags(trim($_POST["type"]))),
                "contentTitle" => htmlspecialchars(strip_tags(trim($_POST["title"]))),
                "contentBody" => htmlspecialchars(strip_tags(trim($_POST["content"])))
            )),
            true,
            false
        );

请不要打扰验证$ _POST的方法,它只是一个测试,但它不起作用。收藏还可以,我已经检查过了。它没有做任何事情,当我插入时 var_dump($db->lastError()); 它根本没有给我任何错误。

2 个答案:

答案 0 :(得分:0)

检查你的apache日志可能有任何帮助。基于update,第三个参数是一个数组。你可能想要坚持这一点。

答案 1 :(得分:0)

好的,我现在有了解决方案。

$r = $coll->findOne(
            array(
                "_id" => new MongoId($_POST["id"])
            )
        );
        //
        $r["contentType"] = htmlspecialchars(strip_tags(trim($_POST["type"])));
        $r["contentTitle"] = htmlspecialchars(strip_tags(trim($_POST["title"])));
        $r["contentBody"] = htmlspecialchars(strip_tags(trim($_POST["content"])));
        //
        $coll->save($r);

所以这个工作正常。但是我非常想找出以前的东西... = P. 如果有人知道为什么它不工作随时回答! =]