Skip to content

(DOCSP-2738): Updated MMAP caution and stable packages table. #3403

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
wants to merge 3 commits into from

Conversation

atsansone
Copy link
Contributor

@rkumar-mongo : This updates the warning at the bottom of this section and updates the table in this section. Links have been checked.

Copy link
Contributor

@kay-kim kay-kim left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please don't use the icon. Leave as |checkmark|

@atsansone
Copy link
Contributor Author

@kay-kim : Fixed.

Copy link
Contributor

@ravindk89 ravindk89 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this needs another pass, especially around big/little endianness and the architecture support.

MMAPv1 is not supported on big-endian architectures such as s390x.
MongoDB returns an error if you set MMAPv1 as the
storage engine on a big-endian system.
MMAPv1 is unsupported on big-endian and certain bi-endian
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ppc64le is specifically little-endian, not bi-endian. s390x appears to be big endian as well. Structuring things this way makes it seem like s390x and PowerPC is bi-endian. Saying bi-endian implies we wouldn't support an OS built for Big Endian. As I understand it, the Power8 processors support either big or little endian, but not both at the same time.

Suggestion: "MMAPv1 is not supported on any big-endian architecture. MMAPv1 also does not support PowerPC." Unless we have a definitive list of other bi-endian or little-endian architectures we don't support, 'certain' casts too wide a net.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Made some revisions. Made it clear that ppc64le is bi-endian. Bi-endian does mean either/or and not both.

MMAPv1 is unsupported on big-endian and certain bi-endian
architectures. This includes the IBM z/Architecture (``s390x``) and
PowerPC (``ppc64le``) platforms. MongoDB returns an error if you
set MMAPv1 as the storage engine on ``s390x`` and ``ppc64le``
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What does MongoDB return for all the other big-endian architectures? This should still be generic.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Which other architectures can you install this on? None, to my understanding. I don't feel right getting into platforms we don't support just as CYA.


* - Product
- x86_64/amd64
- x86_64
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why was amd64 removed? Did we drop support for it? I don't see that indicated in the source ticket. Our documentation still lists amd64 as a supported arch.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Because it is a synonym: https://en.wikipedia.org/wiki/X86-64

- s390x
- POWER8 (little endian)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same question - why was POWER8 removed? as far as I can tell, ppc64le was introduced with POWER8. It's feasible users will recognize one over the other.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One is the chipset, the other is the os compatibility. If we say POWER8, we should switch the others to Intel/AMD, zSeries and ARM. I'd leave this be. We use ppc64le in many other places, including the filenames of the binaries.

- s390x
- POWER8 (little endian)
- ARMv8-A

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

suggest + -> and later.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agreed. Fixed.

@ravindk89
Copy link
Contributor

Note that the entire mmapv1 section is only valid for master. There is upcoming-4.2 wherein mmapv1 is toasted. Once we get through the cleanups, you'll need to 'forward-port' this ticket removing the mmapv1 references.

Copy link
Contributor Author

@atsansone atsansone left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@rkumar-mongo : Updated and back to you.


* - Product
- x86_64/amd64
- x86_64
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Because it is a synonym: https://en.wikipedia.org/wiki/X86-64

MMAPv1 is unsupported on big-endian and certain bi-endian
architectures. This includes the IBM z/Architecture (``s390x``) and
PowerPC (``ppc64le``) platforms. MongoDB returns an error if you
set MMAPv1 as the storage engine on ``s390x`` and ``ppc64le``
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Which other architectures can you install this on? None, to my understanding. I don't feel right getting into platforms we don't support just as CYA.

MMAPv1 is not supported on big-endian architectures such as s390x.
MongoDB returns an error if you set MMAPv1 as the
storage engine on a big-endian system.
MMAPv1 is unsupported on big-endian and certain bi-endian
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Made some revisions. Made it clear that ppc64le is bi-endian. Bi-endian does mean either/or and not both.

- s390x
- POWER8 (little endian)
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One is the chipset, the other is the os compatibility. If we say POWER8, we should switch the others to Intel/AMD, zSeries and ARM. I'd leave this be. We use ppc64le in many other places, including the filenames of the binaries.

- s390x
- POWER8 (little endian)
- ARMv8-A

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Agreed. Fixed.

Copy link
Contributor

@ravindk89 ravindk89 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A few more things to tighten up. I'd also like someone from the Platforms (?) team to make sure we're clear on this.

storage engine on a big-endian system.
MMAPv1 is unsupported on big-endian architectures like the IBM
z/Architecture (``s390x``) and certain bi-endian architectures like
the PowerPC (``ppc64le``) platform. MongoDB returns an error if you
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We should keep this second section generic as well. Otherwise it implies MongoDB does not return errors for any other big-endian architecture, even if MMAPv1 isn't supported.

"MongoDB returns an error when starting a {{mongod}} using MMAPv1 on an unsupported architecture."

z/Architecture (``s390x``) and certain bi-endian architectures like
the PowerPC (``ppc64le``) platform. MongoDB returns an error if you
set ``MMAPv1`` as the storage engine for either the ``s390x`` or
``ppc64le`` platforms. MMAPv1 was deprecated in MongoDB 4.0.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I realised that this include is also brought in to /core/mmapv1. Having this note here is kind of redundant as that page has a big deprecation notice at the top. I think it's OK to remove it. There shouldn't be any surprises w.r.t. MMAPv1 at this point.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removed.

MongoDB returns an error if you set MMAPv1 as the
storage engine on a big-endian system.
MMAPv1 is unsupported on big-endian architectures like the IBM
z/Architecture (``s390x``) and certain bi-endian architectures like
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this ultimately begs the question of what other bi-endian or little-endian archs we throw errors on (vs archs we simply don't test against for official support). If it's only ppc64le that we throw errors for, we should just state that.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed but forgot to push.

Copy link
Contributor Author

@atsansone atsansone left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Back to you, @rkumar-mongo

MongoDB returns an error if you set MMAPv1 as the
storage engine on a big-endian system.
MMAPv1 is unsupported on big-endian architectures like the IBM
z/Architecture (``s390x``) and certain bi-endian architectures like
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fixed but forgot to push.

z/Architecture (``s390x``) and certain bi-endian architectures like
the PowerPC (``ppc64le``) platform. MongoDB returns an error if you
set ``MMAPv1`` as the storage engine for either the ``s390x`` or
``ppc64le`` platforms. MMAPv1 was deprecated in MongoDB 4.0.
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Removed.

- ARMv8-A

* - MongoDB 3.4
* - MongoDB Community (3.4+)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

[NP] this reverted to +. Change to "3.4 and later"

Copy link
Contributor

@ravindk89 ravindk89 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM mod a few nits. Please pass to platforms to confirm we're clear here.

@atsansone
Copy link
Contributor Author

@acmorrow : Finally got you access to this repo. Can you have a look at this change? The staged versions are noted in the first comment.

Copy link

@acmorrow acmorrow left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This LGTM for the part about MMAPv1 with a suggestion.

MMAPv1 is not supported on big-endian architectures such as s390x.
MongoDB returns an error if you set MMAPv1 as the
storage engine on a big-endian system.
:doc:`MMAPv1 </core/mmapv1>` is unsupported on all big-endian

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Rather than trying to state where it isn't supported, why not just state that it is only supported on Intel x86 processors?

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For instance, you don't state here that it isn't supported on ARM64. The actual logic that determines whether mmapv1 is here:

https://github.com/mongodb/mongo/blob/666545a2c01ad724912391ca44be36981d3ed0d2/SConstruct#L1829-L1836

Copy link

@acmorrow acmorrow left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

MMAP changes LGTM.

@atsansone atsansone added RFM and removed Tech Review labels Oct 1, 2018
@atsansone atsansone assigned ravindk89 and unassigned acmorrow Oct 1, 2018
@ravindk89
Copy link
Contributor

merged in by hand to avoid some merge conflicts: b01adfc

@ravindk89 ravindk89 closed this Oct 11, 2018
mongo-cr-bot pushed a commit that referenced this pull request Jun 22, 2023
mongodb-server-docs-sync-bot bot pushed a commit that referenced this pull request Jul 23, 2025
* PHPORM-229 Make Query\Builder return objects instead of array to match Laravel's behavior (#3107)

* version bump

* DOCSP-42794: Laravel Passport (#3113)

Adds a section to the User Authentication page that describes Laravel Passport.

* Update PR template (#3121)

* PHPORM-231 Remove MongoFailedJobProvider (#3122)

* Remove MongoDBQueueServiceProvider in composer.json (#3131)

Class "MongoDB\Laravel\MongoDBQueueServiceProvider" not found  due to being removed in this commit
mongodb/laravel-mongodb@a0b6134

* Remove support for Laravel 10 (#3123)

* PHPORM-234 Convert dates in DB Query results (#3119)

Use the current timezone when reading an UTCDateTime

* PHPORM-157 Remove Blueprint::background() (#3132)

* PHPORM-235 Remove custom DatabaseTokenRepository (#3124)

* DOCSP-43158: carbon date values db query results (#3133)

* DOCSP-43158: carbon date values db query results

* add to upgrade guide

* wip

* PHPORM-236 Remove _id from query results (#3136)

* DOCSP-41335: Id field alias (#3042)

Adds information and an example of the ID field alias.
---------

Co-authored-by: norareidy <[email protected]>
Co-authored-by: rustagir <[email protected]>

* PHPORM-56 Replace Collection proxy class with Driver monitoring (#3137)

* Modernize code with rector (#3139)

* DOCSP-43172: Remove DatabaseTokenRepository class (#3130)

* DOCSP-43172: Remove DatabaseTokenRepository class

* JT feedback

* edit

* JT feedback 2

* DOCSP-43159: QB returns objects (#3135)

* DOCSP-43159: QB returns objects

* add to upgrade guide

* add depth layer

* JT tech review 2

* wip

* DOCSP-42956: Remove $collection support (#3138)

Adds a note about removed $collection and collection() support to the upgrade guide.

* DOCSP-42957: DateTimeInterface in queries (#3140)

Adds information & a code example about automatic conversion from DateTimeInterface to UTCDateTime in queries.

* Add options to countDocuments method (#3142)

* Update merge-up config for new branch pattern (#3143)

* Update changelog (#3144)

* Update changelog (#3144) (#3147)

Co-authored-by: Jérôme Tamarelle <[email protected]>

* Re-enable support for Laravel 10 (#3148)

* DOCSP-43539: v5 release (#3154)

* DOCSP-43539: v5 release

* toc reshuffle

* DOCSP-43530: Id field in query results (#3149)

Adds information about ID field representation in query builder results

* PHPORM-241 Add return type to CommandSubscriber (#3157)

* PHPORM-205: Automate branch creation when releasing (#3145)

* Automate branch creation when releasing

* Apply feedback from code review

* PHPORM-241 Add return type to CommandSubscriber (#3158)

* PHPORM-239 Convert `_id` and `UTCDateTime` in results of `Model::raw()` before hydratation (#3152)

* PHPORM-243 Alias `_id` to `id` in `Schema::getColumns()` (#3160)

* PHPORM-243 Alias _id to id in Schema::getColumns

* Support hasColumn for nested id

* Owner key for morphTo relations (#3162)

* Remove changelog, use release notes instead (#3164)

* DOCSP-43806: getColumns id alias (#3165)

* DOCSP-43806: getColumns id alias

* JT tech review 1

* PHPORM-248 register command subscriber only when logs are enabled (#3167)

* Fix `Query\Builder::pluck()` with `ObjectId` as key (#3169)

Conversion of ObjectId to string is done in Laravel

https://github.com/laravel/framework/blob/646520ad682d98b5211c6e26092259cfbe130b5c/src/Illuminate/Collections/Arr.php#L562

---------

Co-authored-by: Jérôme Tamarelle <[email protected]>

* PHPORM-207 Convert arrow notation -> to dot . (#3170)

* DOCSP-43615: raw() field conversions (#3172)

* DOCSP-43615: raw() ID conversion

* utcdatetime

* wording

* DOCSP-44172: Laravel Herd (#3171)

Adds information about Laravel Herd to the quick start

* Docs changes v5.1 (#3174)

Adds raw() field conversions and Laravel Herd information

* DOCSP-44158: Convert arrow to dot notation (#3173)

Adds information about dot and arrow notation conversion in v5.1

* DOCSP-44177: 5.1 compatibility (#3177)

Compatibility table updates for v5.1

* Typo in upgrade doc (#3180)

* DOCSP-44610: fix php links (#3185)

* DOCSP-44610: fix php links

* use php directive

* Don't add invalid regions to SARIF report (#3193)

* PHPORM-259 Register MongoDB Session Handler with `SESSION_DRIVER=mongodb` (#3192)

* PHPORM-259 Register MongoDB Session Handler with SESSION_DRIVER=mongodb
* Explicit dependency to symfony/http-foundation

* DOCSP-42964: Remove nested component (#3198)

* Disable mongoc_client reuse between connections (#3197)

* Increase connection timeouts to allow using Atlas shared clusters (#3206)

* PHPORM-263 Fix deprecation message for collection/table config in MongoDBQueueServiceProvider (#3209)

* DOCSP-45411: qb options (#3208)

* DOCSP-45411: qb options

* link

* NR PR fixes 1

* DOCSP-44949 TOC Relabel (#3204)

* DOCSP-44949 TOC Relabel

* indent

* DOCSP-42020: queues feedback (#3221)

* DOCSP-42020: queues feedback

* JS small fix

* DOCSP-42020: queues feedback 5.0 (#3222)

* DOCSP-42020: queues feedback

(cherry picked from commit 830ba9f2ab00f637c30e1f2526ea4b18ddc4ab0c)

* DOCSP-42020: queues feedback - 5.0+

* JS small fix

* replace cxn with db in tables

* PHPORM-274 List search indexes in `Schema::getIndexes()` introspection method (#3233)

* PHPORM-273 Add schema helpers to create search and vector indexes (#3230)

* Fix tests on Schema index helpers (#3236)

Add helpers for index exists/not-exists

* PHPORM-266 Run tests on Atlas Local (#3216)

* PHPORM-283 Add `Schema::dropSearchIndex()` (#3235)

* Update param types in docblocks (#3237)

* PHPORM-275 PHPORM-276 Add `Query\Builder::search()` and `autocomplete()` (#3232)

* PHPORM-277 Add `Builder::vectorSearch()` (#3242)

* PHPORM-286 Add `Query::countByGroup()` and other `aggregateByGroup()` functions (#3243)

* PHPORM-286 Add Query::countByGroup and other aggregateByGroup functions
* Support counting distinct values with aggregate by group
* Disable fail-fast due to Atlas issues

* PHPORM-209 Add query builder helper to set read preference (#3244)

* PHPORM-209 Add query builder helper to set read preference
* Support query timeout as decimal number of seconds

* PHPORM-28 Add Scout engine to index into MongoDB Search (#3205)

* Split Atlas tests into a distinct workflow matrix (#3245)

* DOCSP-45877: txn parallel ops not supported (#3247)

* DOCSP-45877: txn parallel ops not supported

* small fix

* DOCSP-45877: txn parallel ops not supported (#3247) (#3250)

* DOCSP-45877: txn parallel ops not supported

* small fix

(cherry picked from commit b89a52eef5910b1a56ec3d4c322cf320582fcaae)

* DOCSP-45877: txn parallel ops not supported (#3247) (#3249)

* DOCSP-45877: txn parallel ops not supported

* small fix

(cherry picked from commit b89a52eef5910b1a56ec3d4c322cf320582fcaae)

* DOCSP-45065: sessions documentation (#3254)

* DOCSP-45065: sessions documentation

* MW PR fixes 1

* JT tech review 1

* small fix error in build

* DOCSP-45065: sessions page quick fix (#3256)

* DOCSP-45065: sessions documentation

* MW PR fixes 1

* JT tech review 1

* small fix error in build

* DOCSP-45065: quick fix to full PR

* Add template types to relation classes (#3262)

* Add tests on doesntExist (#3257)

* DOCSP-38327: add Query Builder examples to usage examples (#3259)

* DOCSP-38327: add qb examples to usage exs

* add imports

* wip

* formatting

* wip

* fix tests?

* fix tests?

* wip

* wip

* wip:

* formatting

* formatting

* formatting

* fix tests

* fix tests

* small text changes

* fix error

* JS PR fixes 1

* add extra tests for each type of query

* formatting

* remove sort from deleteOne

* fix CI error

* Update output based on return type

* DOCSP-46438: Read preference (#3260)

* DOCSP-46438: Read preference

* edits

* tip

* fix test

* fix

* code

* JS feedback

* Switch example to SECONDARY_PREFERRED

* JT feedback

* apply phpcbf formatting

* tests

---------

Co-authored-by: Jérôme Tamarelle <[email protected]>

* PHPORM-295 VectorSearch path cannot be an array (#3263)

* DOCSP-46269: atlas search & atlas vector search pages (#3255)

* DOCSP-46269: as & avs

* wip

* wip

* wip

* JT small fix

* wip

* wip

* link fix

* merge upstream and make some changes from last PR

* revert changes to sessions page - will separate into another PR

* LM PR fixes 1

* small note

* filename change

* LM PR fixes 2

* wip

* wip

* fix term links

* fixes

* JT small fixes

* indentation fix

* DOCSP-35943: write operations reorg (#3275)

* DOCSP-35943: write operations reorg

* reusability

* wip

* NR PR fixes 1

* title fix

* DOCSP-46269 Fix doc examples on atlas search (#3279)

* PHPORM-296 Enable support for Scout v10 (#3280)

* PHPORM-268 Add configuration for scout search indexes (#3281)

* DOCSP-38130: Time series collections (#3274)

* DOCSP-38130: Time sereies collections

* apply phpcbf formatting

* fix

* build error

* JT feedback

* apply phpcbf formatting

* fixes

* apply phpcbf formatting

* JT feedback 2

* PHPORM-302 Compatibility with spatie/laravel-query-builder v6 (#3285)

* PHPORM-303 Require mongodb library v1.21 with aggregation builder (#3287)

* PHPORM-299 Enable PHPUnit 11 (#3286)

* DOCSP-46230: atlas search index mgmt (#3270)

* DOCSP-46230: atlas search index mgmt

* fix

* fix

* small fix

* wip

* wip

* wip

* wip

* test php link

* test php link

* RM PR fixes 1

* JT suggestion - move code to tests

* DOCSP-44554: add more aggregation examples (#3272)

* DOCSP-44554: add more agg exs

* import model fps

* fix formatting

* CI errors

* language formatting

* MW PR fixes 1

* JT small fix

* PHPORM-278 Introduce `Connection::getDatabase()` and `getClient` (#3289)

Deprecate getMongoDB and get MongoClient
Replace selectDatabase with getDatabase

* Rename Connection::getMongoDB to getDatabase

* Jerome suggestion

* DOCSP-35945: read operations reorg (#3293)

* DOCSP-35945: read operations reorg

* skip

* small fixes

* small fixes

* fixes - RM and moved a section

* link fic

* PHPORM-289 Support Laravel 12 (#3283)

* Remove suggestion of archived package mongodb/builder (#3296)

Now part of the mongodb/mongodb package

* Fix releasing from development branch (#3299)

* DOCSP-48028: v5.2 release (#3297)

* DOCSP-48028: v5.2 release

* wip

* wip

* add keyword

* Merges the read operation reorganization into 5.2 (#3301)

* DOCSP-35945: read operations reorg (#3293)

* DOCSP-35945: read operations reorg

* skip

* small fixes

* small fixes

* fixes - RM and moved a section

* link fic

* Fix releasing from development branch (#3299)

---------

Co-authored-by: MongoDB PHP Bot <[email protected]>
Co-authored-by: Andreas Braun <[email protected]>

* DOCSP-46479: document Scout integration (#3261)

* DOCSP-46479: document Scout integration

* NR PR fixes 1

* fix spacing

* fix spacing

* fix spacing

* fix spacing

* NR PR fixes 2

* JT tech comment

* fix spacing

* JT tech review 1

* JT tech review 1

* custom index

* link to atlas doc

* DOCSP-48018: laravel 12 feature compat (#3304)

* DOCSP-48018: laravel 12 feature compat

* small fixes

* JT fix

* DOCSP-47950: Fix all operator section (#3308)

* DOCSP-47950: Fix all operator section

* review feedback

* Remove link to builder package/repo (#3312)

* Bump ramsey/composer-install from 3.0.0 to 3.1.0 (#3317)

Bumps [ramsey/composer-install](https://github.com/ramsey/composer-install) from 3.0.0 to 3.1.0.
- [Release notes](https://github.com/ramsey/composer-install/releases)
- [Commits](ramsey/composer-install@3.0.0...3.1.0)

---
updated-dependencies:
- dependency-name: ramsey/composer-install
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* fix line spacing in feature compat doc (#3315)

* PHPORM-306 Test with MongoDB Driver v2 (#3319)

* Remove manual dirty _id check when updating a model (#3329)

* DOCSP-48956: replace tutorial link (#3333)

* PHPORM-311 Fix Update of numeric field name (#3336)

* PHPORM-311 Fix Update of numeric field name
* Use array_replace where keys must be preserved

* DOCSP-48817: php v2 extension compat (#3339)

* DOCSP-48817: php v2 extension compat

* small fix

* PHPORM-255 Enable disabling the `id` to `_id` field rename in embedded documents (#3332)

* Use stable version of mongodb extension v2 (#3343)

* Fixes: getting immutable_datetime property fails if `Date::use(CarbonImmutable::class)` is set (#3342)

* DOCSP-49236: v5.3 release (#3344)

* DOCSP-49217: disable id alias conversion in embedded docs (#3346)

* DOCSP-49217: disable id alias conversion in embedded docs

* add cross link

* typo fix

* JT tech review comment

* JT tech review comment 2

* PHPORM-319 Make branch 4.x compatible with driver v2 (#3347)

* PHPORM-320 Fix aliasing .id field path to ._id (#3353)

* PHPORM-310 Create dedicated session handler (#3348)

* DOCSP-49293: feature compatibility joins (#3355)

* DOCSP-49294 Add MDB Extension section to compat page (#3357)

* Fix namespace of test classes (#3361)

Spotted with composer dump-autoload --strict-psr --optimize

* PHPORM-325 Add `getViews` and categorize table types (#3327)

* DOCSP-49324: dedicated session handler (#3364)

* Replaced a too strict assertion in DatabaseSessionHandler that prevented to use the sessions at all with a more simple sanity check (#3366)

Set zend.assertions=1

---------

Co-authored-by: Toni Vega <[email protected]>
Co-authored-by: Jérôme Tamarelle <[email protected]>

* Replaced a too strict assertion in DatabaseSessionHandler that prevented to use the sessions at all with a more simple sanity check (#3366) (#3368)

Set zend.assertions=1

---------

Co-authored-by: Toni Vega <[email protected]>

* Remove usage of deprecated getMongoDB method (#3367)

* Validate PSR namespaces in CI (#3363)

* PHPORM-331 Fix test on query payload (#3375)

New properties added by laravel/framework#55529

* PHPORM-330 Fix: Convert query duration time to milliseconds (#3374)

* Convert query duration time to milliseconds

* Test that query time is expressed in milliseconds

---------

Co-authored-by: Jérôme Tamarelle <[email protected]>

* DOCSP-49784: View file typo (#3376)

* DOCSP-49784: View file typo (#3376) (#3378)

* DOCSP-49784: View file typo (#3376)

(cherry picked from commit 0dc4a99819f2efad886dab7f6aa7c9a01fd2ddd3)

* fix test

* Fix database name extraction from DSN containing a CA file path (#3381)

* DOCSP-50023: remove eol server version mentions (#3387)

* [docs] add limitation to transactions page (#3389)

* Bump ramsey/composer-install from 3.1.0 to 3.1.1 (#3393)

Bumps [ramsey/composer-install](https://github.com/ramsey/composer-install) from 3.1.0 to 3.1.1.
- [Release notes](https://github.com/ramsey/composer-install/releases)
- [Commits](ramsey/composer-install@3.1.0...3.1.1)

---
updated-dependencies:
- dependency-name: ramsey/composer-install
  dependency-version: 3.1.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Extract duplicated collection methods in `Builder`

The logic for fetching views and collections are very nearly the
same bar aggregation support.

* Add collation to `getCollections` and `getViews`

Although it's not displayed anywhere other than `db:table` for now, the `collation`
column is present in some of laravel's artisan dabase commands.

* Add Pauline as a maintainer

* Change string literals in `SchemaTest` to constants

* Add conditional return type to `Builder::raw()` (#3395)

for both the Eloquent and the Query builder, so that developers can
understand that the return type will either be a `Collection` or an
`Expression` based on the argument that's passed to `raw()`

* DOCSP-48860: DOCS+ tutorial - Laravel MongoDB backend (#3386)

* DOCSP-48860: DOCS+ tutorial WIP

* wip

* add to toc

* LM PR fixes 1

* fix spacing

* LM PR fixes 2

* Support adding schema validation (#3397)

To support the '$jsonSchema' operation on collections

* DOCSP-50472: schema validation (#3400)

* DOCSP-50472: schema validation

* apply phpcbf formatting

* small wording fix

* fixes

* log error

* fix int type

* wip

* PV tech review 1

* PHPORM-351 `QueryBuilder` multiply and divide support (#3373)

* DOCSP-43518: logging (#3316)

* DOCSP-43518: query logging

* formatting

* remove controller

* tests

* tests

* tests

* tests

* test

* test

* test

* test

* test

* formatting

* Fix test on output

---------

Co-authored-by: Jérôme Tamarelle <[email protected]>

* Bump PHP to 8.2 in Docker test container (#3399)

* DOCSP-50607: multiply/divide QB methods (#3403)

* DOCSP-50607: multiply/divide QB methods

* separate mul & div examples

* add versioning

* wip

* Bump stefanzweifel/git-auto-commit-action from 5 to 6 (#3409)

Bumps [stefanzweifel/git-auto-commit-action](https://github.com/stefanzweifel/git-auto-commit-action) from 5 to 6.
- [Release notes](https://github.com/stefanzweifel/git-auto-commit-action/releases)
- [Changelog](https://github.com/stefanzweifel/git-auto-commit-action/blob/master/CHANGELOG.md)
- [Commits](stefanzweifel/git-auto-commit-action@v5...v6)

---
updated-dependencies:
- dependency-name: stefanzweifel/git-auto-commit-action
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Limit CI workflows to supported branches (#3411)

* Fix YAML indentation

* Limit CI workflows to supported branches

* Run CI for feature branches

* Improve error handling on unsupported hybrid queries (#3404)

Hybrid belongs-to-many relationships are not supported for query
constraints. However, the support check was done downstream of a bunch
of Eloquent stuff, resulting in the user getting an exception that
didn't tell them anything about the usage being unsupported.

This moves that check further up the chain so that the user is alerted
to the lack of support before we do anything else.

* DOCSP-50781: Update SoftDeletes references (#3413)

* Deprecate Mongo soft deletes trait (#3408)

In favor of the Laravel one. Ours is now obsolete; the SoftDeletes trait
is only necessary to remove the call to qualifyColumn in the parent
trait. But the DocumentModel::qualifyColumn is already disabled

* Add Mongo builder mixin to `DocumentModel` (#3417)

It helps with autocompletion as IDEs will recognize Mongo builder
methods that are not present on the base builder.

* PHPORM-361 Remove autocommit of CS fixes (#3420)

* DOCSP-51402: schema-flexible terminology (#3421)

* PHPORM-146: Add override attribute everywhere (#3412)

* Add `#[Override]` attributes to `Query\Builder`

to keep track of the methods we're overriding on the base builder

* Add `#[Override]` attribute to `MongoBatchRepository`

* Add `#[Override]` attribute to `MongoLock`

* Add  attribute to Eloquent builder

* Add `#[Override]` attribute to `MongoQueue`

* Add `#[Override]` attribute to relationship classes

* Add `#[Override]` attribute to `Schema` namespace classes

* Add  attribute to session handler

* Add `#[Override]` attribute to Validation namespace

* Add `#[Override]` attribute to `CommandSubscriber`

* Add `#[Override] attribute to `Connection`

* Add `#[Override]` attribute to `ServiceProvider` implementations

* DOCSP-51402: schema-flexible terminology (#3424)

* PHPORM-361 Remove autocommit of CS fixes (#3420)

* DOCSP-51402: schema-flexible terminology (#3424)

* DOCSP-50960: Install PHP ext with pie (#3419)

* DOCSP-50960: Install PHP ext with pie (#3419) (#3426)

(cherry picked from commit a77aa60df132a8ec0d3f18c0bae652e5ee5a969a)

* PHPORM-369: Fix ID handling when using insert method instead of save (#3429)

* Fix ID handling when using insert method instead of save

* Add test with non-incrementing model

* Clean repo root

* add content

* remove unnecessary content

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: Jérôme Tamarelle <[email protected]>
Co-authored-by: MongoDB PHP Bot <[email protected]>
Co-authored-by: Mike Woofter <[email protected]>
Co-authored-by: Nora Reidy <[email protected]>
Co-authored-by: Jason <[email protected]>
Co-authored-by: Rea Rustagi <[email protected]>
Co-authored-by: norareidy <[email protected]>
Co-authored-by: rustagir <[email protected]>
Co-authored-by: JaeYeong Choi <[email protected]>
Co-authored-by: Andreas Braun <[email protected]>
Co-authored-by: Mohammad Mortazavi <[email protected]>
Co-authored-by: Fuyuki <[email protected]>
Co-authored-by: lindseymoore <[email protected]>
Co-authored-by: Barış Kartal <[email protected]>
Co-authored-by: Brad Miller <[email protected]>
Co-authored-by: Michael Morisi <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Ivan Todorovic <[email protected]>
Co-authored-by: Sainesh Mamgain <[email protected]>
Co-authored-by: Stephanie <[email protected]>
Co-authored-by: Toni Vega <[email protected]>
Co-authored-by: Toni Vega <[email protected]>
Co-authored-by: Amir Reza Mehrbakhsh <[email protected]>
Co-authored-by: fergusean <[email protected]>
Co-authored-by: Pauline Vos <[email protected]>
Co-authored-by: Pauline Vos <[email protected]>
Co-authored-by: Faissal Wahabali <[email protected]>
mongodb-server-docs-sync-bot bot pushed a commit that referenced this pull request Jul 23, 2025
* PHPORM-216 Remove $collection setting from DocumentModel and Connection::collection(). Use $table and Connection::table() instead (#3104)

* PHPORM-227 Fix single document upsert (#3100)

* DOCSP-42818: wherelike and wherenotlike docs (#3114)

* DOCSP-42818: wherelike and wherenotlike docs

* heading fix

* move section

* wip

* add cross link

* PHPORM-229 Make Query\Builder return objects instead of array to match Laravel's behavior (#3107)

* version bump

* DOCSP-42794: Laravel Passport (#3113)

Adds a section to the User Authentication page that describes Laravel Passport.

* Update PR template (#3121)

* PHPORM-231 Remove MongoFailedJobProvider (#3122)

* Remove MongoDBQueueServiceProvider in composer.json (#3131)

Class "MongoDB\Laravel\MongoDBQueueServiceProvider" not found  due to being removed in this commit
mongodb/laravel-mongodb@a0b6134

* Remove support for Laravel 10 (#3123)

* PHPORM-234 Convert dates in DB Query results (#3119)

Use the current timezone when reading an UTCDateTime

* PHPORM-157 Remove Blueprint::background() (#3132)

* PHPORM-235 Remove custom DatabaseTokenRepository (#3124)

* DOCSP-43158: carbon date values db query results (#3133)

* DOCSP-43158: carbon date values db query results

* add to upgrade guide

* wip

* PHPORM-236 Remove _id from query results (#3136)

* DOCSP-41335: Id field alias (#3042)

Adds information and an example of the ID field alias.
---------

Co-authored-by: norareidy <[email protected]>
Co-authored-by: rustagir <[email protected]>

* PHPORM-56 Replace Collection proxy class with Driver monitoring (#3137)

* Modernize code with rector (#3139)

* DOCSP-43172: Remove DatabaseTokenRepository class (#3130)

* DOCSP-43172: Remove DatabaseTokenRepository class

* JT feedback

* edit

* JT feedback 2

* DOCSP-43159: QB returns objects (#3135)

* DOCSP-43159: QB returns objects

* add to upgrade guide

* add depth layer

* JT tech review 2

* wip

* DOCSP-42956: Remove $collection support (#3138)

Adds a note about removed $collection and collection() support to the upgrade guide.

* DOCSP-42957: DateTimeInterface in queries (#3140)

Adds information & a code example about automatic conversion from DateTimeInterface to UTCDateTime in queries.

* Add options to countDocuments method (#3142)

* Update merge-up config for new branch pattern (#3143)

* Update changelog (#3144)

* Update changelog (#3144) (#3147)

Co-authored-by: Jérôme Tamarelle <[email protected]>

* Re-enable support for Laravel 10 (#3148)

* DOCSP-43539: v5 release (#3154)

* DOCSP-43539: v5 release

* toc reshuffle

* DOCSP-43530: Id field in query results (#3149)

Adds information about ID field representation in query builder results

* PHPORM-241 Add return type to CommandSubscriber (#3157)

* PHPORM-205: Automate branch creation when releasing (#3145)

* Automate branch creation when releasing

* Apply feedback from code review

* PHPORM-241 Add return type to CommandSubscriber (#3158)

* PHPORM-239 Convert `_id` and `UTCDateTime` in results of `Model::raw()` before hydratation (#3152)

* PHPORM-243 Alias `_id` to `id` in `Schema::getColumns()` (#3160)

* PHPORM-243 Alias _id to id in Schema::getColumns

* Support hasColumn for nested id

* Owner key for morphTo relations (#3162)

* Remove changelog, use release notes instead (#3164)

* DOCSP-43806: getColumns id alias (#3165)

* DOCSP-43806: getColumns id alias

* JT tech review 1

* PHPORM-248 register command subscriber only when logs are enabled (#3167)

* Fix `Query\Builder::pluck()` with `ObjectId` as key (#3169)

Conversion of ObjectId to string is done in Laravel

https://github.com/laravel/framework/blob/646520ad682d98b5211c6e26092259cfbe130b5c/src/Illuminate/Collections/Arr.php#L562

---------

Co-authored-by: Jérôme Tamarelle <[email protected]>

* PHPORM-207 Convert arrow notation -> to dot . (#3170)

* DOCSP-43615: raw() field conversions (#3172)

* DOCSP-43615: raw() ID conversion

* utcdatetime

* wording

* DOCSP-44172: Laravel Herd (#3171)

Adds information about Laravel Herd to the quick start

* Docs changes v5.1 (#3174)

Adds raw() field conversions and Laravel Herd information

* DOCSP-44158: Convert arrow to dot notation (#3173)

Adds information about dot and arrow notation conversion in v5.1

* DOCSP-44177: 5.1 compatibility (#3177)

Compatibility table updates for v5.1

* Typo in upgrade doc (#3180)

* DOCSP-44610: fix php links (#3185)

* DOCSP-44610: fix php links

* use php directive

* Don't add invalid regions to SARIF report (#3193)

* PHPORM-259 Register MongoDB Session Handler with `SESSION_DRIVER=mongodb` (#3192)

* PHPORM-259 Register MongoDB Session Handler with SESSION_DRIVER=mongodb
* Explicit dependency to symfony/http-foundation

* DOCSP-42964: Remove nested component (#3198)

* Disable mongoc_client reuse between connections (#3197)

* Increase connection timeouts to allow using Atlas shared clusters (#3206)

* PHPORM-263 Fix deprecation message for collection/table config in MongoDBQueueServiceProvider (#3209)

* DOCSP-45411: qb options (#3208)

* DOCSP-45411: qb options

* link

* NR PR fixes 1

* DOCSP-44949 TOC Relabel (#3204)

* DOCSP-44949 TOC Relabel

* indent

* DOCSP-42020: queues feedback (#3221)

* DOCSP-42020: queues feedback

* JS small fix

* DOCSP-42020: queues feedback 5.0 (#3222)

* DOCSP-42020: queues feedback

(cherry picked from commit 830ba9f2ab00f637c30e1f2526ea4b18ddc4ab0c)

* DOCSP-42020: queues feedback - 5.0+

* JS small fix

* replace cxn with db in tables

* PHPORM-274 List search indexes in `Schema::getIndexes()` introspection method (#3233)

* PHPORM-273 Add schema helpers to create search and vector indexes (#3230)

* Fix tests on Schema index helpers (#3236)

Add helpers for index exists/not-exists

* PHPORM-266 Run tests on Atlas Local (#3216)

* PHPORM-283 Add `Schema::dropSearchIndex()` (#3235)

* Update param types in docblocks (#3237)

* PHPORM-275 PHPORM-276 Add `Query\Builder::search()` and `autocomplete()` (#3232)

* PHPORM-277 Add `Builder::vectorSearch()` (#3242)

* PHPORM-286 Add `Query::countByGroup()` and other `aggregateByGroup()` functions (#3243)

* PHPORM-286 Add Query::countByGroup and other aggregateByGroup functions
* Support counting distinct values with aggregate by group
* Disable fail-fast due to Atlas issues

* PHPORM-209 Add query builder helper to set read preference (#3244)

* PHPORM-209 Add query builder helper to set read preference
* Support query timeout as decimal number of seconds

* PHPORM-28 Add Scout engine to index into MongoDB Search (#3205)

* Split Atlas tests into a distinct workflow matrix (#3245)

* DOCSP-45877: txn parallel ops not supported (#3247)

* DOCSP-45877: txn parallel ops not supported

* small fix

* DOCSP-45877: txn parallel ops not supported (#3247) (#3250)

* DOCSP-45877: txn parallel ops not supported

* small fix

(cherry picked from commit b89a52eef5910b1a56ec3d4c322cf320582fcaae)

* DOCSP-45877: txn parallel ops not supported (#3247) (#3249)

* DOCSP-45877: txn parallel ops not supported

* small fix

(cherry picked from commit b89a52eef5910b1a56ec3d4c322cf320582fcaae)

* DOCSP-45065: sessions documentation (#3254)

* DOCSP-45065: sessions documentation

* MW PR fixes 1

* JT tech review 1

* small fix error in build

* DOCSP-45065: sessions page quick fix (#3256)

* DOCSP-45065: sessions documentation

* MW PR fixes 1

* JT tech review 1

* small fix error in build

* DOCSP-45065: quick fix to full PR

* Add template types to relation classes (#3262)

* Add tests on doesntExist (#3257)

* DOCSP-38327: add Query Builder examples to usage examples (#3259)

* DOCSP-38327: add qb examples to usage exs

* add imports

* wip

* formatting

* wip

* fix tests?

* fix tests?

* wip

* wip

* wip:

* formatting

* formatting

* formatting

* fix tests

* fix tests

* small text changes

* fix error

* JS PR fixes 1

* add extra tests for each type of query

* formatting

* remove sort from deleteOne

* fix CI error

* Update output based on return type

* DOCSP-46438: Read preference (#3260)

* DOCSP-46438: Read preference

* edits

* tip

* fix test

* fix

* code

* JS feedback

* Switch example to SECONDARY_PREFERRED

* JT feedback

* apply phpcbf formatting

* tests

---------

Co-authored-by: Jérôme Tamarelle <[email protected]>

* PHPORM-295 VectorSearch path cannot be an array (#3263)

* DOCSP-46269: atlas search & atlas vector search pages (#3255)

* DOCSP-46269: as & avs

* wip

* wip

* wip

* JT small fix

* wip

* wip

* link fix

* merge upstream and make some changes from last PR

* revert changes to sessions page - will separate into another PR

* LM PR fixes 1

* small note

* filename change

* LM PR fixes 2

* wip

* wip

* fix term links

* fixes

* JT small fixes

* indentation fix

* DOCSP-35943: write operations reorg (#3275)

* DOCSP-35943: write operations reorg

* reusability

* wip

* NR PR fixes 1

* title fix

* DOCSP-46269 Fix doc examples on atlas search (#3279)

* PHPORM-296 Enable support for Scout v10 (#3280)

* PHPORM-268 Add configuration for scout search indexes (#3281)

* DOCSP-38130: Time series collections (#3274)

* DOCSP-38130: Time sereies collections

* apply phpcbf formatting

* fix

* build error

* JT feedback

* apply phpcbf formatting

* fixes

* apply phpcbf formatting

* JT feedback 2

* PHPORM-302 Compatibility with spatie/laravel-query-builder v6 (#3285)

* PHPORM-303 Require mongodb library v1.21 with aggregation builder (#3287)

* PHPORM-299 Enable PHPUnit 11 (#3286)

* DOCSP-46230: atlas search index mgmt (#3270)

* DOCSP-46230: atlas search index mgmt

* fix

* fix

* small fix

* wip

* wip

* wip

* wip

* test php link

* test php link

* RM PR fixes 1

* JT suggestion - move code to tests

* DOCSP-44554: add more aggregation examples (#3272)

* DOCSP-44554: add more agg exs

* import model fps

* fix formatting

* CI errors

* language formatting

* MW PR fixes 1

* JT small fix

* PHPORM-278 Introduce `Connection::getDatabase()` and `getClient` (#3289)

Deprecate getMongoDB and get MongoClient
Replace selectDatabase with getDatabase

* Rename Connection::getMongoDB to getDatabase

* Jerome suggestion

* DOCSP-35945: read operations reorg (#3293)

* DOCSP-35945: read operations reorg

* skip

* small fixes

* small fixes

* fixes - RM and moved a section

* link fic

* PHPORM-289 Support Laravel 12 (#3283)

* Remove suggestion of archived package mongodb/builder (#3296)

Now part of the mongodb/mongodb package

* Fix releasing from development branch (#3299)

* DOCSP-48028: v5.2 release (#3297)

* DOCSP-48028: v5.2 release

* wip

* wip

* add keyword

* Merges the read operation reorganization into 5.2 (#3301)

* DOCSP-35945: read operations reorg (#3293)

* DOCSP-35945: read operations reorg

* skip

* small fixes

* small fixes

* fixes - RM and moved a section

* link fic

* Fix releasing from development branch (#3299)

---------

Co-authored-by: MongoDB PHP Bot <[email protected]>
Co-authored-by: Andreas Braun <[email protected]>

* DOCSP-46479: document Scout integration (#3261)

* DOCSP-46479: document Scout integration

* NR PR fixes 1

* fix spacing

* fix spacing

* fix spacing

* fix spacing

* NR PR fixes 2

* JT tech comment

* fix spacing

* JT tech review 1

* JT tech review 1

* custom index

* link to atlas doc

* DOCSP-48018: laravel 12 feature compat (#3304)

* DOCSP-48018: laravel 12 feature compat

* small fixes

* JT fix

* DOCSP-47950: Fix all operator section (#3308)

* DOCSP-47950: Fix all operator section

* review feedback

* Remove link to builder package/repo (#3312)

* Bump ramsey/composer-install from 3.0.0 to 3.1.0 (#3317)

Bumps [ramsey/composer-install](https://github.com/ramsey/composer-install) from 3.0.0 to 3.1.0.
- [Release notes](https://github.com/ramsey/composer-install/releases)
- [Commits](ramsey/composer-install@3.0.0...3.1.0)

---
updated-dependencies:
- dependency-name: ramsey/composer-install
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* fix line spacing in feature compat doc (#3315)

* PHPORM-306 Test with MongoDB Driver v2 (#3319)

* Remove manual dirty _id check when updating a model (#3329)

* DOCSP-48956: replace tutorial link (#3333)

* PHPORM-311 Fix Update of numeric field name (#3336)

* PHPORM-311 Fix Update of numeric field name
* Use array_replace where keys must be preserved

* DOCSP-48817: php v2 extension compat (#3339)

* DOCSP-48817: php v2 extension compat

* small fix

* PHPORM-255 Enable disabling the `id` to `_id` field rename in embedded documents (#3332)

* Use stable version of mongodb extension v2 (#3343)

* Fixes: getting immutable_datetime property fails if `Date::use(CarbonImmutable::class)` is set (#3342)

* DOCSP-49236: v5.3 release (#3344)

* DOCSP-49217: disable id alias conversion in embedded docs (#3346)

* DOCSP-49217: disable id alias conversion in embedded docs

* add cross link

* typo fix

* JT tech review comment

* JT tech review comment 2

* PHPORM-320 Fix aliasing .id field path to ._id (#3353)

* PHPORM-310 Create dedicated session handler (#3348)

* DOCSP-49293: feature compatibility joins (#3355)

* Fix namespace of test classes (#3361)

Spotted with composer dump-autoload --strict-psr --optimize

* PHPORM-325 Add `getViews` and categorize table types (#3327)

* DOCSP-49324: dedicated session handler (#3364)

* Replaced a too strict assertion in DatabaseSessionHandler that prevented to use the sessions at all with a more simple sanity check (#3366)

Set zend.assertions=1

---------

Co-authored-by: Toni Vega <[email protected]>
Co-authored-by: Jérôme Tamarelle <[email protected]>

* Replaced a too strict assertion in DatabaseSessionHandler that prevented to use the sessions at all with a more simple sanity check (#3366) (#3368)

Set zend.assertions=1

---------

Co-authored-by: Toni Vega <[email protected]>

* Remove usage of deprecated getMongoDB method (#3367)

* Validate PSR namespaces in CI (#3363)

* PHPORM-331 Fix test on query payload (#3375)

New properties added by laravel/framework#55529

* PHPORM-330 Fix: Convert query duration time to milliseconds (#3374)

* Convert query duration time to milliseconds

* Test that query time is expressed in milliseconds

---------

Co-authored-by: Jérôme Tamarelle <[email protected]>

* DOCSP-49784: View file typo (#3376) (#3378)

* DOCSP-49784: View file typo (#3376)

(cherry picked from commit 0dc4a99819f2efad886dab7f6aa7c9a01fd2ddd3)

* fix test

* Fix database name extraction from DSN containing a CA file path (#3381)

* DOCSP-50023: remove eol server version mentions (#3387)

* [docs] add limitation to transactions page (#3389)

* Bump ramsey/composer-install from 3.1.0 to 3.1.1 (#3393)

Bumps [ramsey/composer-install](https://github.com/ramsey/composer-install) from 3.1.0 to 3.1.1.
- [Release notes](https://github.com/ramsey/composer-install/releases)
- [Commits](ramsey/composer-install@3.1.0...3.1.1)

---
updated-dependencies:
- dependency-name: ramsey/composer-install
  dependency-version: 3.1.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Extract duplicated collection methods in `Builder`

The logic for fetching views and collections are very nearly the
same bar aggregation support.

* Add collation to `getCollections` and `getViews`

Although it's not displayed anywhere other than `db:table` for now, the `collation`
column is present in some of laravel's artisan dabase commands.

* Add Pauline as a maintainer

* Change string literals in `SchemaTest` to constants

* Add conditional return type to `Builder::raw()` (#3395)

for both the Eloquent and the Query builder, so that developers can
understand that the return type will either be a `Collection` or an
`Expression` based on the argument that's passed to `raw()`

* DOCSP-48860: DOCS+ tutorial - Laravel MongoDB backend (#3386)

* DOCSP-48860: DOCS+ tutorial WIP

* wip

* add to toc

* LM PR fixes 1

* fix spacing

* LM PR fixes 2

* Support adding schema validation (#3397)

To support the '$jsonSchema' operation on collections

* DOCSP-50472: schema validation (#3400)

* DOCSP-50472: schema validation

* apply phpcbf formatting

* small wording fix

* fixes

* log error

* fix int type

* wip

* PV tech review 1

* PHPORM-351 `QueryBuilder` multiply and divide support (#3373)

* DOCSP-43518: logging (#3316)

* DOCSP-43518: query logging

* formatting

* remove controller

* tests

* tests

* tests

* tests

* test

* test

* test

* test

* test

* formatting

* Fix test on output

---------

Co-authored-by: Jérôme Tamarelle <[email protected]>

* Bump PHP to 8.2 in Docker test container (#3399)

* DOCSP-50607: multiply/divide QB methods (#3403)

* DOCSP-50607: multiply/divide QB methods

* separate mul & div examples

* add versioning

* wip

* Bump stefanzweifel/git-auto-commit-action from 5 to 6 (#3409)

Bumps [stefanzweifel/git-auto-commit-action](https://github.com/stefanzweifel/git-auto-commit-action) from 5 to 6.
- [Release notes](https://github.com/stefanzweifel/git-auto-commit-action/releases)
- [Changelog](https://github.com/stefanzweifel/git-auto-commit-action/blob/master/CHANGELOG.md)
- [Commits](stefanzweifel/git-auto-commit-action@v5...v6)

---
updated-dependencies:
- dependency-name: stefanzweifel/git-auto-commit-action
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Limit CI workflows to supported branches (#3411)

* Fix YAML indentation

* Limit CI workflows to supported branches

* Run CI for feature branches

* Improve error handling on unsupported hybrid queries (#3404)

Hybrid belongs-to-many relationships are not supported for query
constraints. However, the support check was done downstream of a bunch
of Eloquent stuff, resulting in the user getting an exception that
didn't tell them anything about the usage being unsupported.

This moves that check further up the chain so that the user is alerted
to the lack of support before we do anything else.

* DOCSP-50781: Update SoftDeletes references (#3413)

* Deprecate Mongo soft deletes trait (#3408)

In favor of the Laravel one. Ours is now obsolete; the SoftDeletes trait
is only necessary to remove the call to qualifyColumn in the parent
trait. But the DocumentModel::qualifyColumn is already disabled

* Add Mongo builder mixin to `DocumentModel` (#3417)

It helps with autocompletion as IDEs will recognize Mongo builder
methods that are not present on the base builder.

* PHPORM-361 Remove autocommit of CS fixes (#3420)

* PHPORM-146: Add override attribute everywhere (#3412)

* Add `#[Override]` attributes to `Query\Builder`

to keep track of the methods we're overriding on the base builder

* Add `#[Override]` attribute to `MongoBatchRepository`

* Add `#[Override]` attribute to `MongoLock`

* Add  attribute to Eloquent builder

* Add `#[Override]` attribute to `MongoQueue`

* Add `#[Override]` attribute to relationship classes

* Add `#[Override]` attribute to `Schema` namespace classes

* Add  attribute to session handler

* Add `#[Override]` attribute to Validation namespace

* Add `#[Override]` attribute to `CommandSubscriber`

* Add `#[Override] attribute to `Connection`

* Add `#[Override]` attribute to `ServiceProvider` implementations

* DOCSP-51402: schema-flexible terminology (#3424)

* PHPORM-361 Remove autocommit of CS fixes (#3420)

* DOCSP-51402: schema-flexible terminology (#3424)

* DOCSP-50960: Install PHP ext with pie (#3419)

* DOCSP-50960: Install PHP ext with pie (#3419) (#3426)

(cherry picked from commit a77aa60df132a8ec0d3f18c0bae652e5ee5a969a)

* PHPORM-369: Fix ID handling when using insert method instead of save (#3429)

* Fix ID handling when using insert method instead of save

* Add test with non-incrementing model

* Clean repo root

* add content

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: MongoDB PHP Bot <[email protected]>
Co-authored-by: Jérôme Tamarelle <[email protected]>
Co-authored-by: Rea Rustagi <[email protected]>
Co-authored-by: Mike Woofter <[email protected]>
Co-authored-by: Nora Reidy <[email protected]>
Co-authored-by: Jason <[email protected]>
Co-authored-by: norareidy <[email protected]>
Co-authored-by: rustagir <[email protected]>
Co-authored-by: JaeYeong Choi <[email protected]>
Co-authored-by: Andreas Braun <[email protected]>
Co-authored-by: Mohammad Mortazavi <[email protected]>
Co-authored-by: Fuyuki <[email protected]>
Co-authored-by: lindseymoore <[email protected]>
Co-authored-by: Barış Kartal <[email protected]>
Co-authored-by: Brad Miller <[email protected]>
Co-authored-by: Michael Morisi <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Ivan Todorovic <[email protected]>
Co-authored-by: Sainesh Mamgain <[email protected]>
Co-authored-by: Toni Vega <[email protected]>
Co-authored-by: Toni Vega <[email protected]>
Co-authored-by: Amir Reza Mehrbakhsh <[email protected]>
Co-authored-by: fergusean <[email protected]>
Co-authored-by: Pauline Vos <[email protected]>
Co-authored-by: Pauline Vos <[email protected]>
Co-authored-by: Faissal Wahabali <[email protected]>
mongodb-server-docs-sync-bot bot pushed a commit that referenced this pull request Jul 23, 2025
* PHPORM-216 Remove $collection setting from DocumentModel and Connection::collection(). Use $table and Connection::table() instead (#3104)

* PHPORM-227 Fix single document upsert (#3100)

* DOCSP-42818: wherelike and wherenotlike docs (#3114)

* DOCSP-42818: wherelike and wherenotlike docs

* heading fix

* move section

* wip

* add cross link

* PHPORM-229 Make Query\Builder return objects instead of array to match Laravel's behavior (#3107)

* version bump

* DOCSP-42794: Laravel Passport (#3113)

Adds a section to the User Authentication page that describes Laravel Passport.

* Update PR template (#3121)

* PHPORM-231 Remove MongoFailedJobProvider (#3122)

* Remove MongoDBQueueServiceProvider in composer.json (#3131)

Class "MongoDB\Laravel\MongoDBQueueServiceProvider" not found  due to being removed in this commit
mongodb/laravel-mongodb@a0b6134

* Remove support for Laravel 10 (#3123)

* PHPORM-234 Convert dates in DB Query results (#3119)

Use the current timezone when reading an UTCDateTime

* PHPORM-157 Remove Blueprint::background() (#3132)

* PHPORM-235 Remove custom DatabaseTokenRepository (#3124)

* DOCSP-43158: carbon date values db query results (#3133)

* DOCSP-43158: carbon date values db query results

* add to upgrade guide

* wip

* PHPORM-236 Remove _id from query results (#3136)

* DOCSP-41335: Id field alias (#3042)

Adds information and an example of the ID field alias.
---------

Co-authored-by: norareidy <[email protected]>
Co-authored-by: rustagir <[email protected]>

* PHPORM-56 Replace Collection proxy class with Driver monitoring (#3137)

* Modernize code with rector (#3139)

* DOCSP-43172: Remove DatabaseTokenRepository class (#3130)

* DOCSP-43172: Remove DatabaseTokenRepository class

* JT feedback

* edit

* JT feedback 2

* DOCSP-43159: QB returns objects (#3135)

* DOCSP-43159: QB returns objects

* add to upgrade guide

* add depth layer

* JT tech review 2

* wip

* DOCSP-42956: Remove $collection support (#3138)

Adds a note about removed $collection and collection() support to the upgrade guide.

* DOCSP-42957: DateTimeInterface in queries (#3140)

Adds information & a code example about automatic conversion from DateTimeInterface to UTCDateTime in queries.

* Add options to countDocuments method (#3142)

* Update merge-up config for new branch pattern (#3143)

* Update changelog (#3144)

* Update changelog (#3144) (#3147)

Co-authored-by: Jérôme Tamarelle <[email protected]>

* Re-enable support for Laravel 10 (#3148)

* DOCSP-43539: v5 release (#3154)

* DOCSP-43539: v5 release

* toc reshuffle

* DOCSP-43530: Id field in query results (#3149)

Adds information about ID field representation in query builder results

* PHPORM-241 Add return type to CommandSubscriber (#3157)

* PHPORM-205: Automate branch creation when releasing (#3145)

* Automate branch creation when releasing

* Apply feedback from code review

* PHPORM-241 Add return type to CommandSubscriber (#3158)

* PHPORM-239 Convert `_id` and `UTCDateTime` in results of `Model::raw()` before hydratation (#3152)

* PHPORM-243 Alias `_id` to `id` in `Schema::getColumns()` (#3160)

* PHPORM-243 Alias _id to id in Schema::getColumns

* Support hasColumn for nested id

* Owner key for morphTo relations (#3162)

* Remove changelog, use release notes instead (#3164)

* DOCSP-43806: getColumns id alias (#3165)

* DOCSP-43806: getColumns id alias

* JT tech review 1

* PHPORM-248 register command subscriber only when logs are enabled (#3167)

* Fix `Query\Builder::pluck()` with `ObjectId` as key (#3169)

Conversion of ObjectId to string is done in Laravel

https://github.com/laravel/framework/blob/646520ad682d98b5211c6e26092259cfbe130b5c/src/Illuminate/Collections/Arr.php#L562

---------

Co-authored-by: Jérôme Tamarelle <[email protected]>

* PHPORM-207 Convert arrow notation -> to dot . (#3170)

* DOCSP-43615: raw() field conversions (#3172)

* DOCSP-43615: raw() ID conversion

* utcdatetime

* wording

* DOCSP-44172: Laravel Herd (#3171)

Adds information about Laravel Herd to the quick start

* Docs changes v5.1 (#3174)

Adds raw() field conversions and Laravel Herd information

* DOCSP-44158: Convert arrow to dot notation (#3173)

Adds information about dot and arrow notation conversion in v5.1

* DOCSP-44177: 5.1 compatibility (#3177)

Compatibility table updates for v5.1

* Typo in upgrade doc (#3180)

* DOCSP-44610: fix php links (#3185)

* DOCSP-44610: fix php links

* use php directive

* Don't add invalid regions to SARIF report (#3193)

* PHPORM-259 Register MongoDB Session Handler with `SESSION_DRIVER=mongodb` (#3192)

* PHPORM-259 Register MongoDB Session Handler with SESSION_DRIVER=mongodb
* Explicit dependency to symfony/http-foundation

* DOCSP-42964: Remove nested component (#3198)

* Disable mongoc_client reuse between connections (#3197)

* Increase connection timeouts to allow using Atlas shared clusters (#3206)

* PHPORM-263 Fix deprecation message for collection/table config in MongoDBQueueServiceProvider (#3209)

* DOCSP-45411: qb options (#3208)

* DOCSP-45411: qb options

* link

* NR PR fixes 1

* DOCSP-44949 TOC Relabel (#3204)

* DOCSP-44949 TOC Relabel

* indent

* DOCSP-42020: queues feedback (#3221)

* DOCSP-42020: queues feedback

* JS small fix

* DOCSP-42020: queues feedback 5.0 (#3222)

* DOCSP-42020: queues feedback

(cherry picked from commit 830ba9f2ab00f637c30e1f2526ea4b18ddc4ab0c)

* DOCSP-42020: queues feedback - 5.0+

* JS small fix

* replace cxn with db in tables

* PHPORM-274 List search indexes in `Schema::getIndexes()` introspection method (#3233)

* PHPORM-273 Add schema helpers to create search and vector indexes (#3230)

* Fix tests on Schema index helpers (#3236)

Add helpers for index exists/not-exists

* PHPORM-266 Run tests on Atlas Local (#3216)

* PHPORM-283 Add `Schema::dropSearchIndex()` (#3235)

* Update param types in docblocks (#3237)

* PHPORM-275 PHPORM-276 Add `Query\Builder::search()` and `autocomplete()` (#3232)

* PHPORM-277 Add `Builder::vectorSearch()` (#3242)

* PHPORM-286 Add `Query::countByGroup()` and other `aggregateByGroup()` functions (#3243)

* PHPORM-286 Add Query::countByGroup and other aggregateByGroup functions
* Support counting distinct values with aggregate by group
* Disable fail-fast due to Atlas issues

* PHPORM-209 Add query builder helper to set read preference (#3244)

* PHPORM-209 Add query builder helper to set read preference
* Support query timeout as decimal number of seconds

* PHPORM-28 Add Scout engine to index into MongoDB Search (#3205)

* Split Atlas tests into a distinct workflow matrix (#3245)

* DOCSP-45877: txn parallel ops not supported (#3247)

* DOCSP-45877: txn parallel ops not supported

* small fix

* DOCSP-45877: txn parallel ops not supported (#3247) (#3250)

* DOCSP-45877: txn parallel ops not supported

* small fix

(cherry picked from commit b89a52eef5910b1a56ec3d4c322cf320582fcaae)

* DOCSP-45877: txn parallel ops not supported (#3247) (#3249)

* DOCSP-45877: txn parallel ops not supported

* small fix

(cherry picked from commit b89a52eef5910b1a56ec3d4c322cf320582fcaae)

* DOCSP-45065: sessions documentation (#3254)

* DOCSP-45065: sessions documentation

* MW PR fixes 1

* JT tech review 1

* small fix error in build

* DOCSP-45065: sessions page quick fix (#3256)

* DOCSP-45065: sessions documentation

* MW PR fixes 1

* JT tech review 1

* small fix error in build

* DOCSP-45065: quick fix to full PR

* Add template types to relation classes (#3262)

* Add tests on doesntExist (#3257)

* DOCSP-38327: add Query Builder examples to usage examples (#3259)

* DOCSP-38327: add qb examples to usage exs

* add imports

* wip

* formatting

* wip

* fix tests?

* fix tests?

* wip

* wip

* wip:

* formatting

* formatting

* formatting

* fix tests

* fix tests

* small text changes

* fix error

* JS PR fixes 1

* add extra tests for each type of query

* formatting

* remove sort from deleteOne

* fix CI error

* Update output based on return type

* DOCSP-46438: Read preference (#3260)

* DOCSP-46438: Read preference

* edits

* tip

* fix test

* fix

* code

* JS feedback

* Switch example to SECONDARY_PREFERRED

* JT feedback

* apply phpcbf formatting

* tests

---------

Co-authored-by: Jérôme Tamarelle <[email protected]>

* PHPORM-295 VectorSearch path cannot be an array (#3263)

* DOCSP-46269: atlas search & atlas vector search pages (#3255)

* DOCSP-46269: as & avs

* wip

* wip

* wip

* JT small fix

* wip

* wip

* link fix

* merge upstream and make some changes from last PR

* revert changes to sessions page - will separate into another PR

* LM PR fixes 1

* small note

* filename change

* LM PR fixes 2

* wip

* wip

* fix term links

* fixes

* JT small fixes

* indentation fix

* DOCSP-35943: write operations reorg (#3275)

* DOCSP-35943: write operations reorg

* reusability

* wip

* NR PR fixes 1

* title fix

* DOCSP-46269 Fix doc examples on atlas search (#3279)

* PHPORM-296 Enable support for Scout v10 (#3280)

* PHPORM-268 Add configuration for scout search indexes (#3281)

* DOCSP-38130: Time series collections (#3274)

* DOCSP-38130: Time sereies collections

* apply phpcbf formatting

* fix

* build error

* JT feedback

* apply phpcbf formatting

* fixes

* apply phpcbf formatting

* JT feedback 2

* PHPORM-302 Compatibility with spatie/laravel-query-builder v6 (#3285)

* PHPORM-303 Require mongodb library v1.21 with aggregation builder (#3287)

* PHPORM-299 Enable PHPUnit 11 (#3286)

* DOCSP-46230: atlas search index mgmt (#3270)

* DOCSP-46230: atlas search index mgmt

* fix

* fix

* small fix

* wip

* wip

* wip

* wip

* test php link

* test php link

* RM PR fixes 1

* JT suggestion - move code to tests

* DOCSP-44554: add more aggregation examples (#3272)

* DOCSP-44554: add more agg exs

* import model fps

* fix formatting

* CI errors

* language formatting

* MW PR fixes 1

* JT small fix

* PHPORM-278 Introduce `Connection::getDatabase()` and `getClient` (#3289)

Deprecate getMongoDB and get MongoClient
Replace selectDatabase with getDatabase

* Rename Connection::getMongoDB to getDatabase

* Jerome suggestion

* DOCSP-35945: read operations reorg (#3293)

* DOCSP-35945: read operations reorg

* skip

* small fixes

* small fixes

* fixes - RM and moved a section

* link fic

* PHPORM-289 Support Laravel 12 (#3283)

* Remove suggestion of archived package mongodb/builder (#3296)

Now part of the mongodb/mongodb package

* Fix releasing from development branch (#3299)

* DOCSP-48028: v5.2 release (#3297)

* DOCSP-48028: v5.2 release

* wip

* wip

* add keyword

* Merges the read operation reorganization into 5.2 (#3301)

* DOCSP-35945: read operations reorg (#3293)

* DOCSP-35945: read operations reorg

* skip

* small fixes

* small fixes

* fixes - RM and moved a section

* link fic

* Fix releasing from development branch (#3299)

---------

Co-authored-by: MongoDB PHP Bot <[email protected]>
Co-authored-by: Andreas Braun <[email protected]>

* DOCSP-46479: document Scout integration (#3261)

* DOCSP-46479: document Scout integration

* NR PR fixes 1

* fix spacing

* fix spacing

* fix spacing

* fix spacing

* NR PR fixes 2

* JT tech comment

* fix spacing

* JT tech review 1

* JT tech review 1

* custom index

* link to atlas doc

* DOCSP-48018: laravel 12 feature compat (#3304)

* DOCSP-48018: laravel 12 feature compat

* small fixes

* JT fix

* DOCSP-47950: Fix all operator section (#3308)

* DOCSP-47950: Fix all operator section

* review feedback

* Remove link to builder package/repo (#3312)

* Bump ramsey/composer-install from 3.0.0 to 3.1.0 (#3317)

Bumps [ramsey/composer-install](https://github.com/ramsey/composer-install) from 3.0.0 to 3.1.0.
- [Release notes](https://github.com/ramsey/composer-install/releases)
- [Commits](ramsey/composer-install@3.0.0...3.1.0)

---
updated-dependencies:
- dependency-name: ramsey/composer-install
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* fix line spacing in feature compat doc (#3315)

* PHPORM-306 Test with MongoDB Driver v2 (#3319)

* Remove manual dirty _id check when updating a model (#3329)

* DOCSP-48956: replace tutorial link (#3333)

* PHPORM-311 Fix Update of numeric field name (#3336)

* PHPORM-311 Fix Update of numeric field name
* Use array_replace where keys must be preserved

* DOCSP-48817: php v2 extension compat (#3339)

* DOCSP-48817: php v2 extension compat

* small fix

* PHPORM-255 Enable disabling the `id` to `_id` field rename in embedded documents (#3332)

* Use stable version of mongodb extension v2 (#3343)

* Fixes: getting immutable_datetime property fails if `Date::use(CarbonImmutable::class)` is set (#3342)

* DOCSP-49236: v5.3 release (#3344)

* DOCSP-49217: disable id alias conversion in embedded docs (#3346)

* DOCSP-49217: disable id alias conversion in embedded docs

* add cross link

* typo fix

* JT tech review comment

* JT tech review comment 2

* PHPORM-320 Fix aliasing .id field path to ._id (#3353)

* PHPORM-310 Create dedicated session handler (#3348)

* DOCSP-49293: feature compatibility joins (#3355)

* Fix namespace of test classes (#3361)

Spotted with composer dump-autoload --strict-psr --optimize

* PHPORM-325 Add `getViews` and categorize table types (#3327)

* DOCSP-49324: dedicated session handler (#3364)

* Replaced a too strict assertion in DatabaseSessionHandler that prevented to use the sessions at all with a more simple sanity check (#3366)

Set zend.assertions=1

---------

Co-authored-by: Toni Vega <[email protected]>
Co-authored-by: Jérôme Tamarelle <[email protected]>

* Replaced a too strict assertion in DatabaseSessionHandler that prevented to use the sessions at all with a more simple sanity check (#3366) (#3368)

Set zend.assertions=1

---------

Co-authored-by: Toni Vega <[email protected]>

* Remove usage of deprecated getMongoDB method (#3367)

* Validate PSR namespaces in CI (#3363)

* PHPORM-331 Fix test on query payload (#3375)

New properties added by laravel/framework#55529

* PHPORM-330 Fix: Convert query duration time to milliseconds (#3374)

* Convert query duration time to milliseconds

* Test that query time is expressed in milliseconds

---------

Co-authored-by: Jérôme Tamarelle <[email protected]>

* DOCSP-49784: View file typo (#3376) (#3378)

* DOCSP-49784: View file typo (#3376)

(cherry picked from commit 0dc4a99819f2efad886dab7f6aa7c9a01fd2ddd3)

* fix test

* Fix database name extraction from DSN containing a CA file path (#3381)

* DOCSP-50023: remove eol server version mentions (#3387)

* [docs] add limitation to transactions page (#3389)

* Bump ramsey/composer-install from 3.1.0 to 3.1.1 (#3393)

Bumps [ramsey/composer-install](https://github.com/ramsey/composer-install) from 3.1.0 to 3.1.1.
- [Release notes](https://github.com/ramsey/composer-install/releases)
- [Commits](ramsey/composer-install@3.1.0...3.1.1)

---
updated-dependencies:
- dependency-name: ramsey/composer-install
  dependency-version: 3.1.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Extract duplicated collection methods in `Builder`

The logic for fetching views and collections are very nearly the
same bar aggregation support.

* Add collation to `getCollections` and `getViews`

Although it's not displayed anywhere other than `db:table` for now, the `collation`
column is present in some of laravel's artisan dabase commands.

* Add Pauline as a maintainer

* Change string literals in `SchemaTest` to constants

* Add conditional return type to `Builder::raw()` (#3395)

for both the Eloquent and the Query builder, so that developers can
understand that the return type will either be a `Collection` or an
`Expression` based on the argument that's passed to `raw()`

* DOCSP-48860: DOCS+ tutorial - Laravel MongoDB backend (#3386)

* DOCSP-48860: DOCS+ tutorial WIP

* wip

* add to toc

* LM PR fixes 1

* fix spacing

* LM PR fixes 2

* Support adding schema validation (#3397)

To support the '$jsonSchema' operation on collections

* DOCSP-50472: schema validation (#3400)

* DOCSP-50472: schema validation

* apply phpcbf formatting

* small wording fix

* fixes

* log error

* fix int type

* wip

* PV tech review 1

* PHPORM-351 `QueryBuilder` multiply and divide support (#3373)

* DOCSP-43518: logging (#3316)

* DOCSP-43518: query logging

* formatting

* remove controller

* tests

* tests

* tests

* tests

* test

* test

* test

* test

* test

* formatting

* Fix test on output

---------

Co-authored-by: Jérôme Tamarelle <[email protected]>

* Bump PHP to 8.2 in Docker test container (#3399)

* DOCSP-50607: multiply/divide QB methods (#3403)

* DOCSP-50607: multiply/divide QB methods

* separate mul & div examples

* add versioning

* wip

* Bump stefanzweifel/git-auto-commit-action from 5 to 6 (#3409)

Bumps [stefanzweifel/git-auto-commit-action](https://github.com/stefanzweifel/git-auto-commit-action) from 5 to 6.
- [Release notes](https://github.com/stefanzweifel/git-auto-commit-action/releases)
- [Changelog](https://github.com/stefanzweifel/git-auto-commit-action/blob/master/CHANGELOG.md)
- [Commits](stefanzweifel/git-auto-commit-action@v5...v6)

---
updated-dependencies:
- dependency-name: stefanzweifel/git-auto-commit-action
  dependency-version: '6'
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* Limit CI workflows to supported branches (#3411)

* Fix YAML indentation

* Limit CI workflows to supported branches

* Run CI for feature branches

* Improve error handling on unsupported hybrid queries (#3404)

Hybrid belongs-to-many relationships are not supported for query
constraints. However, the support check was done downstream of a bunch
of Eloquent stuff, resulting in the user getting an exception that
didn't tell them anything about the usage being unsupported.

This moves that check further up the chain so that the user is alerted
to the lack of support before we do anything else.

* DOCSP-50781: Update SoftDeletes references (#3413)

* Deprecate Mongo soft deletes trait (#3408)

In favor of the Laravel one. Ours is now obsolete; the SoftDeletes trait
is only necessary to remove the call to qualifyColumn in the parent
trait. But the DocumentModel::qualifyColumn is already disabled

* Add Mongo builder mixin to `DocumentModel` (#3417)

It helps with autocompletion as IDEs will recognize Mongo builder
methods that are not present on the base builder.

* PHPORM-361 Remove autocommit of CS fixes (#3420)

* PHPORM-146: Add override attribute everywhere (#3412)

* Add `#[Override]` attributes to `Query\Builder`

to keep track of the methods we're overriding on the base builder

* Add `#[Override]` attribute to `MongoBatchRepository`

* Add `#[Override]` attribute to `MongoLock`

* Add  attribute to Eloquent builder

* Add `#[Override]` attribute to `MongoQueue`

* Add `#[Override]` attribute to relationship classes

* Add `#[Override]` attribute to `Schema` namespace classes

* Add  attribute to session handler

* Add `#[Override]` attribute to Validation namespace

* Add `#[Override]` attribute to `CommandSubscriber`

* Add `#[Override] attribute to `Connection`

* Add `#[Override]` attribute to `ServiceProvider` implementations

* DOCSP-51402: schema-flexible terminology (#3424)

* PHPORM-361 Remove autocommit of CS fixes (#3420)

* DOCSP-51402: schema-flexible terminology (#3424)

* DOCSP-50960: Install PHP ext with pie (#3419)

* DOCSP-50960: Install PHP ext with pie (#3419) (#3426)

(cherry picked from commit a77aa60df132a8ec0d3f18c0bae652e5ee5a969a)

* PHPORM-369: Fix ID handling when using insert method instead of save (#3429)

* Fix ID handling when using insert method instead of save

* Add test with non-incrementing model

* Clean repo root

* add content

---------

Signed-off-by: dependabot[bot] <[email protected]>
Co-authored-by: MongoDB PHP Bot <[email protected]>
Co-authored-by: Jérôme Tamarelle <[email protected]>
Co-authored-by: Rea Rustagi <[email protected]>
Co-authored-by: Mike Woofter <[email protected]>
Co-authored-by: Nora Reidy <[email protected]>
Co-authored-by: Jason <[email protected]>
Co-authored-by: norareidy <[email protected]>
Co-authored-by: rustagir <[email protected]>
Co-authored-by: JaeYeong Choi <[email protected]>
Co-authored-by: Andreas Braun <[email protected]>
Co-authored-by: Mohammad Mortazavi <[email protected]>
Co-authored-by: Fuyuki <[email protected]>
Co-authored-by: lindseymoore <[email protected]>
Co-authored-by: Barış Kartal <[email protected]>
Co-authored-by: Brad Miller <[email protected]>
Co-authored-by: Michael Morisi <[email protected]>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Ivan Todorovic <[email protected]>
Co-authored-by: Sainesh Mamgain <[email protected]>
Co-authored-by: Toni Vega <[email protected]>
Co-authored-by: Toni Vega <[email protected]>
Co-authored-by: Amir Reza Mehrbakhsh <[email protected]>
Co-authored-by: fergusean <[email protected]>
Co-authored-by: Pauline Vos <[email protected]>
Co-authored-by: Pauline Vos <[email protected]>
Co-authored-by: Faissal Wahabali <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants