From 3028dfde3e5ce4039077063dd34be1ba64d4ebc0 Mon Sep 17 00:00:00 2001 From: Jeremy Mikola Date: Sun, 14 Jun 2015 22:09:20 -0400 Subject: [PATCH] Return documents as objects from Collection findAndModify methods --- src/Collection.php | 6 +++--- src/Operation/FindAndModify.php | 4 ++-- src/Operation/FindOneAndDelete.php | 2 +- src/Operation/FindOneAndReplace.php | 2 +- src/Operation/FindOneAndUpdate.php | 2 +- .../CrudSpec/FindOneAndDeleteFunctionalTest.php | 4 ++-- .../CrudSpec/FindOneAndReplaceFunctionalTest.php | 10 +++++----- .../CrudSpec/FindOneAndUpdateFunctionalTest.php | 10 +++++----- 8 files changed, 20 insertions(+), 20 deletions(-) diff --git a/src/Collection.php b/src/Collection.php index 583b341fa..23b0e23ce 100644 --- a/src/Collection.php +++ b/src/Collection.php @@ -460,7 +460,7 @@ public function findOne(array $filter = array(), array $options = array()) * @see FindOneAndDelete::__construct() for supported options * @param array|object $filter Query by which to filter documents * @param array $options Command options - * @return array|null + * @return object|null */ public function findOneAndDelete($filter, array $options = array()) { @@ -482,7 +482,7 @@ public function findOneAndDelete($filter, array $options = array()) * @param array|object $filter Query by which to filter documents * @param array|object $replacement Replacement document * @param array $options Command options - * @return array|null + * @return object|null */ public function findOneAndReplace($filter, $replacement, array $options = array()) { @@ -504,7 +504,7 @@ public function findOneAndReplace($filter, $replacement, array $options = array( * @param array|object $filter Query by which to filter documents * @param array|object $update Update to apply to the matched document * @param array $options Command options - * @return array|null + * @return object|null */ public function findOneAndUpdate($filter, $update, array $options = array()) { diff --git a/src/Operation/FindAndModify.php b/src/Operation/FindAndModify.php index c880bc3ab..0c288b058 100644 --- a/src/Operation/FindAndModify.php +++ b/src/Operation/FindAndModify.php @@ -113,7 +113,7 @@ public function __construct($databaseName, $collectionName, array $options) * * @see Executable::execute() * @param Server $server - * @return array|null + * @return object|null */ public function execute(Server $server) { @@ -143,7 +143,7 @@ public function execute(Server $server) throw new UnexpectedValueException('findAndModify command did not return a "value" document'); } - return (array) $result['value']; + return $result['value']; } /** diff --git a/src/Operation/FindOneAndDelete.php b/src/Operation/FindOneAndDelete.php index 6c841b84e..4ff1cf88a 100644 --- a/src/Operation/FindOneAndDelete.php +++ b/src/Operation/FindOneAndDelete.php @@ -74,7 +74,7 @@ public function __construct($databaseName, $collectionName, $filter, array $opti * * @see Executable::execute() * @param Server $server - * @return array|null + * @return object|null */ public function execute(Server $server) { diff --git a/src/Operation/FindOneAndReplace.php b/src/Operation/FindOneAndReplace.php index 1a8c5554a..dbf834360 100644 --- a/src/Operation/FindOneAndReplace.php +++ b/src/Operation/FindOneAndReplace.php @@ -113,7 +113,7 @@ public function __construct($databaseName, $collectionName, $filter, $replacemen * * @see Executable::execute() * @param Server $server - * @return array|null + * @return object|null */ public function execute(Server $server) { diff --git a/src/Operation/FindOneAndUpdate.php b/src/Operation/FindOneAndUpdate.php index 06cc2121b..7bcc05d7b 100644 --- a/src/Operation/FindOneAndUpdate.php +++ b/src/Operation/FindOneAndUpdate.php @@ -113,7 +113,7 @@ public function __construct($databaseName, $collectionName, $filter, $update, ar * * @see Executable::execute() * @param Server $server - * @return array|null + * @return object|null */ public function execute(Server $server) { diff --git a/tests/Collection/CrudSpec/FindOneAndDeleteFunctionalTest.php b/tests/Collection/CrudSpec/FindOneAndDeleteFunctionalTest.php index 3d5aa9b0a..ecd321220 100644 --- a/tests/Collection/CrudSpec/FindOneAndDeleteFunctionalTest.php +++ b/tests/Collection/CrudSpec/FindOneAndDeleteFunctionalTest.php @@ -25,7 +25,7 @@ public function testFindOneAndDeleteWhenManyDocumentsMatch() ); $document = $this->collection->findOneAndDelete($filter, $options); - $this->assertSame(array('x' => 22), $document); + $this->assertEquals((object) array('x' => 22), $document); $expected = array( array('_id' => 1, 'x' => 11), @@ -44,7 +44,7 @@ public function testFindOneAndDeleteWhenOneDocumentMatches() ); $document = $this->collection->findOneAndDelete($filter, $options); - $this->assertSame(array('x' => 22), $document); + $this->assertEquals((object) array('x' => 22), $document); $expected = array( array('_id' => 1, 'x' => 11), diff --git a/tests/Collection/CrudSpec/FindOneAndReplaceFunctionalTest.php b/tests/Collection/CrudSpec/FindOneAndReplaceFunctionalTest.php index 2fce74904..9f4480d2b 100644 --- a/tests/Collection/CrudSpec/FindOneAndReplaceFunctionalTest.php +++ b/tests/Collection/CrudSpec/FindOneAndReplaceFunctionalTest.php @@ -29,7 +29,7 @@ public function testFindOneAndReplaceWhenManyDocumentsMatchReturningDocumentBefo ); $document = $this->collection->findOneAndReplace($filter, $replacement, $options); - $this->assertSame(array('x' => 22), $document); + $this->assertEquals((object) array('x' => 22), $document); $expected = array( array('_id' => 1, 'x' => 11), @@ -51,7 +51,7 @@ public function testFindOneAndReplaceWhenManyDocumentsMatchReturningDocumentAfte ); $document = $this->collection->findOneAndReplace($filter, $replacement, $options); - $this->assertSame(array('x' => 32), $document); + $this->assertEquals((object) array('x' => 32), $document); $expected = array( array('_id' => 1, 'x' => 11), @@ -72,7 +72,7 @@ public function testFindOneAndReplaceWhenOneDocumentMatchesReturningDocumentBefo ); $document = $this->collection->findOneAndReplace($filter, $replacement, $options); - $this->assertSame(array('x' => 22), $document); + $this->assertEquals((object) array('x' => 22), $document); $expected = array( array('_id' => 1, 'x' => 11), @@ -94,7 +94,7 @@ public function testFindOneAndReplaceWhenOneDocumentMatchesReturningDocumentAfte ); $document = $this->collection->findOneAndReplace($filter, $replacement, $options); - $this->assertSame(array('x' => 32), $document); + $this->assertEquals((object) array('x' => 32), $document); $expected = array( array('_id' => 1, 'x' => 11), @@ -185,7 +185,7 @@ public function testFindOneAndReplaceWithUpsertWhenNoDocumentsMatchReturningDocu ); $document = $this->collection->findOneAndReplace($filter, $replacement, $options); - $this->assertSame(array('x' => 44), $document); + $this->assertEquals((object) array('x' => 44), $document); $expected = array( array('_id' => 1, 'x' => 11), diff --git a/tests/Collection/CrudSpec/FindOneAndUpdateFunctionalTest.php b/tests/Collection/CrudSpec/FindOneAndUpdateFunctionalTest.php index af9cf67c0..c07b9a98c 100644 --- a/tests/Collection/CrudSpec/FindOneAndUpdateFunctionalTest.php +++ b/tests/Collection/CrudSpec/FindOneAndUpdateFunctionalTest.php @@ -29,7 +29,7 @@ public function testFindOneAndUpdateWhenManyDocumentsMatchReturningDocumentBefor ); $document = $this->collection->findOneAndUpdate($filter, $update, $options); - $this->assertSame(array('x' => 22), $document); + $this->assertEquals((object) array('x' => 22), $document); $expected = array( array('_id' => 1, 'x' => 11), @@ -51,7 +51,7 @@ public function testFindOneAndUpdateWhenManyDocumentsMatchReturningDocumentAfter ); $document = $this->collection->findOneAndUpdate($filter, $update, $options); - $this->assertSame(array('x' => 23), $document); + $this->assertEquals((object) array('x' => 23), $document); $expected = array( array('_id' => 1, 'x' => 11), @@ -72,7 +72,7 @@ public function testFindOneAndUpdateWhenOneDocumentMatchesReturningDocumentBefor ); $document = $this->collection->findOneAndUpdate($filter, $update, $options); - $this->assertSame(array('x' => 22), $document); + $this->assertEquals((object) array('x' => 22), $document); $expected = array( array('_id' => 1, 'x' => 11), @@ -94,7 +94,7 @@ public function testFindOneAndUpdateWhenOneDocumentMatchesReturningDocumentAfter ); $document = $this->collection->findOneAndUpdate($filter, $update, $options); - $this->assertSame(array('x' => 23), $document); + $this->assertEquals((object) array('x' => 23), $document); $expected = array( array('_id' => 1, 'x' => 11), @@ -183,7 +183,7 @@ public function testFindOneAndUpdateWithUpsertWhenNoDocumentsMatchReturningDocum ); $document = $this->collection->findOneAndUpdate($filter, $update, $options); - $this->assertSame(array('x' => 1), $document); + $this->assertEquals((object) array('x' => 1), $document); $expected = array( array('_id' => 1, 'x' => 11),