php - Phalcon ODM 批量删除

标签 php mongodb phalcon

我想知道是否可以在 phalcon ODM 中进行批量删除(使用单个操作),而不是通过“delete()”方法获取文档并在循环中一个一个地删除它们?

我需要这样的东西:

$db->users->remove(array("type" => "abc"));

官方文档对此只字未提,转储类方法也没有透露任何新​​信息。

附言。我正在使用 phalcon 2.0.10

最佳答案

有些人要求分享我正在使用的方法

我在 ModelBase 中创建了一个方法。所有其他模型都扩展了它,因此它们可以访问它的方法。我使用静态函数是为了不创建类的实例。

class ModelBase extends \Phalcon\Mvc\Collection
{
    public static function deleteBulk(array $conditions)
    {
        $class = get_called_class();
        $model = new $class;
        $collection = $model->getSource();

        # I have a registered service mongo in DI, so i just get it from there
        $mongo = \Phalcon\Di::getDefault()->getMongo();

        return $mongo->$collection->remove($conditions);
    }
}

然后我有一个模型:

class Items extends ModelBase
{

}

所以当我需要批量删除时,我只需调用:

Items::deleteBulk(array("type" => "abc"));

关于php - Phalcon ODM 批量删除,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37805438/

相关文章:

javascript - 更改为 Bluebird Promise,但使用 mongoose 仍然收到弃用警告,为什么?

mongodb - 在单个 Postgresql 实例上结合 NoSQL 和关系数据库

jquery - Phalcon getJsonRawBody 无法处理 GET 请求

php - 在基于 AJAX 的应用程序中使用 token 防止 CSRF

php - 使用网络摄像头或设备相机拍摄照片

php - 如何在创建表时创建外键

javascript - 弹出带有来自 php 文件的消息的框

ruby - 如何通过_id 检索文档?

java - 如何在有限时间后使购物车过期

javascript - 将 AngularJS 与 Phalcon 框架混合