我正在尝试从基于_id的mongoDb数据库中删除一些东西,我发誓除了我想要的任何其他东西都被删除。我正在使用codeigniter库这是函数:
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 :(得分:1)
它可能由许多因素引起。
new MongoId($id_as_string)
;(它应该是一个MongoId )safe
选项进行测试(不同步)并检查您获得的结果(“安全”查询返回数组不是布尔值)答案 1 :(得分:0)
该函数需要一个参数,即集合的名称,用两个参数调用它。检查docs / source以了解如何指定where文档。