2011-07-24 9 views
1

私はmongoDbデータベースから_idに基づいて何かを削除しようとしています。私はこれが関数であるCodeIgniterのライブラリを使用しています:MongoDb delete query

public function delete($collection = "") 
{ 
    if(empty($collection)) 
    { 
     show_error("No Mongo collection selected to delete from", 500); 
    } 

    try 
    { 
     $this->db->{$collection}->remove($this->wheres, array('fsync' => TRUE, 'justOne' => TRUE)); 
     return(TRUE); 
    } 
    catch(MongoCursorException $e) 
    { 
     show_error("Delete of data into MongoDB failed: {$e->getMessage()}", 500); 
    } 

} 

そして私は

$this->mongo_db->delete('videos', $data = array('_id' => $id)); 

それは間違いなく私が欲しいものを削除ではなくを削除するためにこれをやっています。私はmongoに新しいので、どこでエラーをチェックすべきですか?

+0

私は同様の問題に遭遇しました。 CodeIgniterのmongodbライブラリが何も削除できないようです –

答えて

1

多くの要素によって発生する可能性があります。

  • チェックあなたの$ idは文字列またはMongoId(あなたはPHP公式Mongoのドライバを使用している場合、私はちょうどnew MongoId($id_as_string)を使用し、そのPHPコードを想定している場合は、することができます(それはMongoIdする必要があります)
  • また、この関数は、コレクションの名前を1つの引数を、期待し
0

「安全な」問合せの戻り配列でないブール値)、あなたは(同期なし)safeオプションを使用してテストし、あなたが結果として得られるかどうか確認しますそれを2つで呼び出してください。 eeどこで文書を指定するか

関連する問題