Your query is for an _id value of 49, but the _id value on the model is 5e2acfb455f1fe5f258b4568. 49 is the value of id, not _id.
Oct 28, 2025
2
Level 3
Where clause not working on mongodb/laravel-mongodb 5.5 laravel 12
- Laravel-mongodb Version: 5.5
- PHP Version: 8.3
- Laravel Version: 12.0
- Database Driver & Version: MongoDB 4.4
Description:
After upgrading to Laravel 12, the where() clause in Eloquent queries with MongoDB has stopped working. Queries that were functioning correctly in previous Laravel versions now return null or empty results.
Steps to reproduce
- Upgrade from Laravel 11 to Laravel 12
- Use any Eloquent model with MongoDB connection
- Execute a simple where query:
Model::where('_id', $id)->first() - Query returns null even when document exists
Expected behaviour
The where clause should return the matching document from MongoDB collection, as it did in previous Laravel versions.
Actual behaviour
The where clause returns null even when documents matching the criteria exist in the database. No errors are thrown, but queries fail silently.
Example Code:
// Alternative syntax also fails
$screener = Screener::where('_id', '=', 49)->first();
// Returns: null
but data does exists
> Screener::first()->toArray();
= [
"_id" => "5e2acfb455f1fe5f258b4568",
"id" => "49",
"data" => [
"selectedLayout" => 0,
"layouts" => [
[
"name" => "My Portfolio",
"columns" => [
"symbol",
"name",
"bb|1d|20|2|L",
"close",
"change",
"pctChange",
"dps|TTM",
"dps|2019",
"divy|TTM",
"dpr|TTM",
],
"filters" => [],
"sort" => [
"column" => "dps|TTM",
"order" => "desc",
],
"changed" => false,
"isEdited" => false,
"isPreset" => false,
],
[
"name" => "Trade Screen",
"columns" => [
"symbol",
"open",
"high",
"low",
"bidPrice",
"close",
"sma|15m|8",
"sma|15m|20",
"sma|1h|8",
"change",
"volume",
"ldcp",
"bidVolume",
"askPrice",
"askVolume",
],
"filters" => [
"traded",
],
"sort" => [
"column" => "volume",
"order" => "desc",
],
"changed" => false,
"isEdited" => false,
"isPreset" => false,
],
[
"name" => "ABC",
"columns" => [
"symbol",
"open",
"change",
"close",
"s3",
],
"filters" => [
"traded",
],
"sort" => [
"column" => "close",
"order" => "desc",
],
"changed" => false,
"isEdited" => false,
"isPreset" => false,
],
],
"id" => "49",
],
"updated_at" => "2023-06-12T09:07:36.370000Z",
"created_at" => "2020-01-24T11:06:28.768000Z",
]
Please or to participate in this conversation.