0
您能否告訴我爲什麼我無法使用mongodb $ in從列表中的id刪除集合記錄,但是如果我使用mongodb驅動程序,我可以刪除它們直。這裏的id是自動在mongodb中生成的_id。 這一個工程:如何用mongodb shanty庫中的某個id刪除文件
array_walk($ids, function(&$item, $key) { $item = new MongoId(trim($item)); });
$conditions = array('_id' => array('$in' => $ids),
);
$mongo = new Mongo();
$db = $mongo->test;
$collection = $db->mycollection;
$result = $collection->remove($conditions, array('safe' => true));
但是,使用類Shanty_Mongo_Document的方法移除某些原因使用相同的數據不起作用:
class MyDocument extends Shanty_Mongo_Document
{
public static function bulkDelete($ids)
{
array_walk($ids, function(&$item, $key) { $item = new MongoId(trim($item)); });
$conditions = array('_id' => array('$in' => $ids)
);
$result = self::remove($conditions, array('safe' => true));
return $result['n'];
}
}
謝謝。