问题描述
因为我想删除一个包含大约 50M 数据的集合(每月),即使在将超时声明为 -1 之后,正常的删除操作也会引发超时错误。
我使用的查询是 $this->where('ts','>',$start)->where('ts','<',$end)->timeout(-1)->delete()
。
我在 mongodb doc 上找到了 bulk.find().remove()
操作,这可能会有所帮助,但我无法在 PHP 的任何 mongo 驱动程序中找到 find()
方法。
对此有什么建议吗?
解决方法
MongoDB 中没有“查找和删除”操作。这只是一个有条件的删除。
对于使用 PHP 驱动程序的示例,try this 调用 $bulk->delete()
。