Skip to content

Commit 2e4c58a

Browse files
committed
Find by object ID
1 parent 87a5b71 commit 2e4c58a

File tree

1 file changed

+18
-0
lines changed

1 file changed

+18
-0
lines changed

src/Controllers/CollectionController.php

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,12 @@ public function countAction($databaseName, $collectionName) : Response {
5959
return new Response(400, 'Request body is invalid.');
6060
}
6161

62+
if ( isset($decodedRequestBody['filter']['_id'])
63+
&& is_string($decodedRequestBody['filter']['_id']) ) {
64+
$decodedRequestBody['filter']['_id'] =
65+
new \MongoDB\BSON\ObjectId($decodedRequestBody['filter']['_id']);
66+
}
67+
6268
$count = $collection->countDocuments($decodedRequestBody['filter']);
6369

6470
return new Response(
@@ -88,6 +94,12 @@ public function deleteOneAction($databaseName, $collectionName) : Response {
8894
return new Response(400, 'Request body is invalid.');
8995
}
9096

97+
if ( isset($decodedRequestBody['filter']['_id'])
98+
&& is_string($decodedRequestBody['filter']['_id']) ) {
99+
$decodedRequestBody['filter']['_id'] =
100+
new \MongoDB\BSON\ObjectId($decodedRequestBody['filter']['_id']);
101+
}
102+
91103
$deleteOneResult = $collection->deleteOne($decodedRequestBody['filter']);
92104

93105
return new Response(
@@ -119,6 +131,12 @@ public function findAction($databaseName, $collectionName) : Response {
119131
return new Response(400, 'Request body is invalid.');
120132
}
121133

134+
if ( isset($decodedRequestBody['filter']['_id'])
135+
&& is_string($decodedRequestBody['filter']['_id']) ) {
136+
$decodedRequestBody['filter']['_id'] =
137+
new \MongoDB\BSON\ObjectId($decodedRequestBody['filter']['_id']);
138+
}
139+
122140
$documents = $collection->find(
123141
$decodedRequestBody['filter'], $decodedRequestBody['options']
124142
)->toArray();

0 commit comments

Comments
 (0)