2016-11-08 6 views
0

mongodbの新機能です。コレクションから特定のドキュメントを削除したいが、構文エラーがないうちに削除できない。ここでPHPでMongodbの特定の文書を削除する

<?php 
    $connect = new Mongoclient(); 
    $db = $connect -> post; 

<table width="50%" border="1"> 
    <tr> 


    <th>#</th> 
    <th>Title</th> 
    <th>description</th> 
    <th colspan="2">Action</th> 
    </tr> 
    <?php $result = $db->blogs->find();?> 
    <?php foreach ($result as $row) : ?> 
     <tr> 
     <td><?php echo $row["_id"]; ?></td> 
     <td><?php echo $row["title"]; ?></td> 
     <td><?php echo $row["description"]; ?></td> 

     <td><a href="delete_post.php?id=<?php echo $row['_id'] ?>">Delete</a></td> 
     <td> <a href="edit_post.php?id=<?php echo $row['_id'] ?>">Update</a></td> 

     </tr> 
     <?php endforeach?> 

</table> 

show_post.phpであり、ここであなたが_idfind()への方法の文字列表現を渡しているので、これは可能性があるdelete_post.php

 

     $id=$_GET['id']; 
     $var = array("_id"=>$id); 

     $del =$db->blogs->remove($var); 
      if(!$del){ 

      echo "not deleted"; 
      }else { 
      header("location:show_post.php"); 
      exit(); 
      } 
      ?> 



+0

:あなたは何ができるか

をして、オブジェクトとしてそれをバックに変換することです。存在しないオブジェクトを削除しようとすると、mongoDBは例外をスローしません。 –

答えて

0

次のとおりです。

<td><a href="delete_post.php?id=<?php echo $row['_id'] ?>">Delete</a></td> 

MongoDB PHP版> = 1.0.0以降、find()MongoDB\BSON\ObjectIDオブジェクトを返す必要があります。 echoこの変数は文字列表現を返します。あなたのIDを照会してみてください、あなたは機能を削除するために渡しているものを見るID

$var = array("_id"=>new MongoDB\BSON\ObjectID($id)); 
関連する問題