MongoDB \ Driver \ Exception \ InvalidArgumentException在您的平台上检测到整数溢出:300000000000

时间:2017-06-20 07:11:46

标签: mongodb laravel elasticsearch jenssegers-mongodb

当我尝试使用laravel索引文档时,我收到错误。

这是我的主要代码。通过使用die语句,我发现我收到此错误“[MongoDB \ Driver \ Exception \ InvalidArgumentException]在您的平台上检测到整数溢出:300000000000”一旦执行第一行: $ users = User :: all();

$users = User::all();
foreach ($users as $user) {
        $temp=$user['attributes']; 
        unset($temp['_id']);
             $params = [
              'index' => 'test_index',
              'type' => $temp['vehicle_type'],
          'id' => $temp['lid'],
          'body' => $temp
        ];
        print_r($params); die;
     $response = $client->index($params);
     set_time_limit(100);
 }
    }``

我正在使用https://github.com/jenssegers/laravel-mongodb来连接Laravel和mongoDB。  我的用户模型看起来像这样

use Jenssegers\Mongodb\Eloquent\Model as Eloquent;
class User extends Eloquent 
{
    protected $connection = 'mongodb';
    protected $collection = 'Test4';  
}

Test4包含大数据。但是,我确保我的映射中没有任何整数可能导致整数溢出错误。请帮助我。我是Laravel和MongoDB的新手 我很乐意提供可能需要的任何进一步信息。

此外,当我尝试减少映射和索引中的字段数时,我得到此错误“PHP致命错误:允许的内存大小为134217728字节耗尽(尝试分配40个字节)在C:\ xampp \ htdocs \ ProTest1第392行上的\ vendor \ jenssegers \ mongodb \ src \ Jenssegers \ Mongodb \ Query \ Builder.php“

1 个答案:

答案 0 :(得分:0)

感谢Neil Lunn,您的反馈确实很有帮助。实际上我一次访问所有数据,消耗大量内存。所以相反,我尝试使用下面的代码一次提取大量数据。

{{1}}