创建集合时,php artisan迁移错误“没有这样的cmd:聚合”

时间:2014-07-04 11:49:49

标签: mongodb laravel-4 database-migration

我使用的是PHP版本5.4.30,MongoDB驱动程序:1.5.4和MongoDB Server:2.0.4 与mongodb的Jenssegers包一起,我手动创建一个迁移,如下所示:

public function up()
{
    Schema::create('posts', function($collection)
    {
        $collection->increments('_id');
        $collection->string('name');
        $collection->unique('email');
    });
}

public function down()
{
    Schema::drop('posts');
}

当我运行comman php artisan migrate时,我得到以下错误,其中将迁移表创建到mongodb数据库中:

[MongoResultException]
192.168.0.135:27017: no such cmd: aggregate

我缺少什么?

1 个答案:

答案 0 :(得分:1)

根据错误消息,您尝试运行需要Aggregation Framework的命令,该命令仅在MongoDB 2.2或更高版本中可用。您的问题信息使用MongoDB 2.0.4提及。

目前尚不清楚此错误是您包含的迁移示例的直接结果,因为这些架构命令似乎都不需要聚合。也许artisan调用group()count()操作作为迁移的一部分,并最终映射到聚合命令。

要解决此错误,我建议从MongoDB 2.0.4升级到更新的生产版本。 MongoDB 2.0.4在两年多前发布了; 2.6.x是目前最新的产品发布系列。