无法使用PHP从Mongodb数据库中删除文档

时间:2013-08-15 13:25:42

标签: php

有没有人可以帮助我指导为什么我的以下代码没有从gridfs中删除文档:

<?php
  error_reporting(0); 
  $m = new Mongo();
  $db = $m->myDB;
  $gridFS = $db->getGridFS();
  $coll= $db->fs->files;
    if(isset($_POST['submit'])){
    echo "Trying to delete the doc. <br />";
    $id = (array("_id" => $_POST["id"]));
    $file = $gridFS->findOne(array("_id" => $id), true);
    $r = $gridFS->delete($id);
    if($r){echo "Document deleted. <br />";}
    }
?>

虽然,我得到回应'删除文件'。但实际上文件不会被php从gridfs中删除。我的代码有什么问题,或者如何摆脱不需要的文件,包括二进制文件.. 提前致谢。 - 瓦苏德夫。

1 个答案:

答案 0 :(得分:0)

_id字段不是mongodb中的字符串,它是ObjectId类的对象;而不是

$id = (array("_id" => $_POST["id"]));

你应该使用

$id = (array("_id" => new MongoId($_POST["id"])));