Docs 菜单
Docs 主页
/ / /
Laravel MongoDB

升级库版本

在此页面上

  • 概述
  • 如何升级
  • 重大更改

在此页面上,您可以了解如何将 Laravel MongoDB 升级到新的主要版本。 本页还包括您必须对应用程序进行的更改,以升级对象文档映射器 (ODM) 版本而不丢失功能(如果适用)。

升级前,请执行以下操作:

  • 确保新的库版本与应用程序连接到的 MongoDB Server 版本以及应用程序运行所在的 Laravel 版本兼容。有关此信息,请参阅兼容性页面。

  • 在本指南的重大更改部分,解决应用程序现在使用的 Laravel MongoDB 版本与计划升级版本之间发生的任何重大更改。

要升级库版本,请在应用程序目录中运行以下命令:

composer require mongodb/laravel-mongodb:4.6

要升级到该库的其他版本,请将 laravel-mongodb:之后的信息替换为您的首选版本号。

破坏性变更 (breaking change) 是对特定版本的 MongoDB 中的约定或行为的修改,可能会阻止您的应用程序按预期运行。

本节中的重大更改按引入它们的主要版本进行分类。 升级库版本时,请解决当前版本和计划升级版本之间的所有重大更改。

此库版本引入了以下重大更改:

  • 最低 Laravel 版本现在为10.0 。 有关升级 Laravel 版本的说明,请参阅 升级指南 在 Laravel 文档中。

  • 依赖名称现在为"mongodb/laravel-mongodb" 。 确保composer.json文件中的依赖项名称为"mongodb/laravel-mongodb": "^4.0" 。 然后运行composer update

  • 命名空间现在为MongoDB\Laravel\ 。 确保在模型和配置文件中将命名空间从Jenssegers\Mongodb\更改为MongoDB\Laravel\

  • 删除了对非 Laravel 项目的支持。

  • 删除对$dates属性的支持。 确保将模型文件中$dates的所有实例更改为$casts

  • Model::unset($field) 不会持久化更改。 确保对Model::unset($field)的所有调用都使用Model::save()进行跟踪。

  • 删除Query\Builder::whereAll($column, $values)方法。 确保将对Query\Builder::whereAll($column, $values)的所有调用替换为Query\Builder::where($column, 'all', $values)

  • Query\Builder::delete() 可删除一个或所有文档。 确保仅将值1null传递给limit()

  • whereDate()whereDay()whereMonth()whereYear()whereTime()方法现在在日期字段上使用 MongoDB 操作符。

  • 添加MongoDB\Laravel\Eloquent\MassPrunable特征。确保将模型中Illuminate\Database\Eloquent\MassPrunable的所有实例替换为MongoDB\Laravel\Eloquent\MassPrunable

  • 删除对以下Query\Builder方法的支持:

    • toSql()

    • toRawSql()

    • whereColumn()

    • whereFullText()

    • groupByRaw()

    • orderByRaw()

    • unionAll()

    • union()

    • having()

    • havingRaw()

    • havingBetween()

    • whereIntegerInRaw()

    • orWhereIntegerInRaw()

    • whereIntegerNotInRaw()

    • orWhereIntegerNotInRaw()

后退

兼容性