diff --git a/CHANGELOG.md b/CHANGELOG.md index 5f2a2f9e5..532d81a81 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,10 @@ # Changelog All notable changes to this project will be documented in this file. +## [4.9.0] - coming soon + +* Add `Connection::getServerVersion()` by @GromNaN in [#3043](https://github.com/mongodb/laravel-mongodb/pull/3043) + ## [4.6.0] - 2024-07-09 * Add `DocumentModel` trait to use any 3rd party model with MongoDB @GromNaN in [#2580](https://github.com/mongodb/laravel-mongodb/pull/2580) diff --git a/src/Connection.php b/src/Connection.php index 2ce5324ee..343c0ca21 100644 --- a/src/Connection.php +++ b/src/Connection.php @@ -327,6 +327,11 @@ public function __call($method, $parameters) return $this->db->$method(...$parameters); } + public function getServerVersion(): string + { + return $this->db->command(['buildInfo' => 1])->toArray()[0]['version']; + } + private static function getVersion(): string { return self::$version ?? self::lookupVersion(); diff --git a/tests/ConnectionTest.php b/tests/ConnectionTest.php index 586452109..ef0b746c3 100644 --- a/tests/ConnectionTest.php +++ b/tests/ConnectionTest.php @@ -299,4 +299,10 @@ public function testPingMethod() $instance = new Connection($config); $instance->ping(); } + + public function testServerVersion() + { + $version = DB::connection('mongodb')->getServerVersion(); + $this->assertIsString($version); + } }