-
Notifications
You must be signed in to change notification settings - Fork 1.5k
Unrecognized field 'allowDiskUse' #2331
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
Comments
same problem |
I don't know, But the same code executes fine on a MongoDB 4.4.2 server. If you have a good solution, please share it too!🍻 |
ok I found this https://stackoverflow.com/questions/53584326/is-allowdiskuse-valid-for-find-method-in-mongodb It seems that mongodb supports allowDiskUse since version 4.4? |
Yes, I've seen that. I think this is most likely due to the php-mongodb extension upgrade, but I compared the query logs generated before and after the upgrade and they are consistent! |
I found the problem, the query logic of paginating was deleted in this commit. This caused pagination queries to use the default find instead of aggregate. But I don't know why. |
Description:
Steps to reproduce
Expected behaviour
Model paginate function using Aggregate Operation to build query
Actual behaviour
Failed to parse: { find: "room_sales", filter: { $and: [ { is_new: null }, { deleted_at: null } ] }, allowDiskUse: true, limit: 10, $db: "sushi_user", lsid: { id: UUID("025d946f-fcb9-4eca-93bc-0d57f814ec1d") }, $clusterTime: { clusterTime: Timestamp(1640584069, 1), signature: { hash: BinData(0, 49B7F100EC85107FB854AB347FF9F6DF6A5143DB), keyId: 7010209366712254465 } } }. Unrecognized field 'allowDiskUse'.
Logs:
[2021-12-27 14:21:09] local.ERROR: Failed to parse: { find: "room_sales", filter: { $and: [ { is_new: null }, { deleted_at: null } ] }, allowDiskUse: true, limit: 10, $db: "sushi_user", lsid: { id: UUID("8801c1ee-c78b-4110-9443-ff5f898875d9") }, $clusterTime: { clusterTime: Timestamp(1640586066, 1), signature: { hash: BinData(0, 7D9767A6094AB6051B36F5F9AEC53C51CD138B42), keyId: 7010209366712254465 } } }. Unrecognized field 'allowDiskUse'. {"exception":"[object] (MongoDB\\Driver\\Exception\\CommandException(code: 9): Failed to parse: { find: \"room_sales\", filter: { $and: [ { is_new: null }, { deleted_at: null } ] }, allowDiskUse: true, limit: 10, $db: \"sushi_user\", lsid: { id: UUID(\"8801c1ee-c78b-4110-9443-ff5f898875d9\") }, $clusterTime: { clusterTime: Timestamp(1640586066, 1), signature: { hash: BinData(0, 7D9767A6094AB6051B36F5F9AEC53C51CD138B42), keyId: 7010209366712254465 } } }. Unrecognized field 'allowDiskUse'. at /project/vendor/mongodb/mongodb/src/Operation/Find.php:341) [stacktrace] #0 /project/vendor/mongodb/mongodb/src/Operation/Find.php(341): MongoDB\\Driver\\Server->executeQuery('sushi_user.room...', Object(MongoDB\\Driver\\Query), Array) #1 /project/vendor/mongodb/mongodb/src/Collection.php(666): MongoDB\\Operation\\Find->execute(Object(MongoDB\\Driver\\Server)) #2 [internal function]: MongoDB\\Collection->find(Array, Array) #3 /project/vendor/jenssegers/mongodb/src/Collection.php(42): call_user_func_array(Array, Array) #4 /project/vendor/jenssegers/mongodb/src/Query/Builder.php(399): Jenssegers\\Mongodb\\Collection->__call('find', Array) #5 /project/vendor/jenssegers/mongodb/src/Query/Builder.php(191): Jenssegers\\Mongodb\\Query\\Builder->getFresh(Array) #6 /project/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(625): Jenssegers\\Mongodb\\Query\\Builder->get(Array) #7 /project/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(609): Illuminate\\Database\\Eloquent\\Builder->getModels(Array) #8 /project/vendor/laravel/framework/src/Illuminate/Database/Eloquent/Builder.php(809): Illuminate\\Database\\Eloquent\\Builder->get(Array) #9 /project/app/Http/Controllers/Web/RoomController.php(242): Illuminate\\Database\\Eloquent\\Builder->paginate(10) #10 /project/app/Http/Controllers/Web/RoomController.php(526): NeoX\\Http\\Controllers\\Web\\RoomController->list(Object(Illuminate\\Http\\Request)) #11 /project/vendor/laravel/framework/src/Illuminate/Routing/Controller.php(54): NeoX\\Http\\Controllers\\Web\\RoomController->listOrDetail(Object(Illuminate\\Http\\Request), 'all') #12 /project/vendor/laravel/framework/src/Illuminate/Routing/ControllerDispatcher.php(45): Illuminate\\Routing\\Controller->callAction('listOrDetail', Array) #13 /project/vendor/laravel/framework/src/Illuminate/Routing/Route.php(262): Illuminate\\Routing\\ControllerDispatcher->dispatch(Object(Illuminate\\Routing\\Route), Object(NeoX\\Http\\Controllers\\Web\\RoomController), 'listOrDetail') #14 /project/vendor/laravel/framework/src/Illuminate/Routing/Route.php(205): Illuminate\\Routing\\Route->runController() #15 /project/vendor/laravel/framework/src/Illuminate/Routing/Router.php(695): Illuminate\\Routing\\Route->run() #16 /project/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(128): Illuminate\\Routing\\Router->Illuminate\\Routing\\{closure}(Object(Illuminate\\Http\\Request)) #17 /project/vendor/laravel/framework/src/Illuminate/Routing/Middleware/SubstituteBindings.php(50): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) #18 /project/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Routing\\Middleware\\SubstituteBindings->handle(Object(Illuminate\\Http\\Request), Object(Closure)) #19 /project/vendor/laravel/framework/src/Illuminate/View/Middleware/ShareErrorsFromSession.php(49): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) #20 /project/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\View\\Middleware\\ShareErrorsFromSession->handle(Object(Illuminate\\Http\\Request), Object(Closure)) #21 /project/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(121): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) #22 /project/vendor/laravel/framework/src/Illuminate/Session/Middleware/StartSession.php(64): Illuminate\\Session\\Middleware\\StartSession->handleStatefulRequest(Object(Illuminate\\Http\\Request), Object(Illuminate\\Session\\EncryptedStore), Object(Closure)) #23 /project/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Session\\Middleware\\StartSession->handle(Object(Illuminate\\Http\\Request), Object(Closure)) #24 /project/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/AddQueuedCookiesToResponse.php(37): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) #25 /project/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Cookie\\Middleware\\AddQueuedCookiesToResponse->handle(Object(Illuminate\\Http\\Request), Object(Closure)) #26 /project/vendor/laravel/framework/src/Illuminate/Cookie/Middleware/EncryptCookies.php(67): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) #27 /project/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Cookie\\Middleware\\EncryptCookies->handle(Object(Illuminate\\Http\\Request), Object(Closure)) #28 /project/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(103): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) #29 /project/vendor/laravel/framework/src/Illuminate/Routing/Router.php(697): Illuminate\\Pipeline\\Pipeline->then(Object(Closure)) #30 /project/vendor/laravel/framework/src/Illuminate/Routing/Router.php(672): Illuminate\\Routing\\Router->runRouteWithinStack(Object(Illuminate\\Routing\\Route), Object(Illuminate\\Http\\Request)) #31 /project/vendor/laravel/framework/src/Illuminate/Routing/Router.php(636): Illuminate\\Routing\\Router->runRoute(Object(Illuminate\\Http\\Request), Object(Illuminate\\Routing\\Route)) #32 /project/vendor/laravel/framework/src/Illuminate/Routing/Router.php(625): Illuminate\\Routing\\Router->dispatchToRoute(Object(Illuminate\\Http\\Request)) #33 /project/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(167): Illuminate\\Routing\\Router->dispatch(Object(Illuminate\\Http\\Request)) #34 /project/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(128): Illuminate\\Foundation\\Http\\Kernel->Illuminate\\Foundation\\Http\\{closure}(Object(Illuminate\\Http\\Request)) #35 /project/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(21): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) #36 /project/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TrimStrings.php(40): Illuminate\\Foundation\\Http\\Middleware\\TransformsRequest->handle(Object(Illuminate\\Http\\Request), Object(Closure)) #37 /project/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\TrimStrings->handle(Object(Illuminate\\Http\\Request), Object(Closure)) #38 /project/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) #39 /project/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\ValidatePostSize->handle(Object(Illuminate\\Http\\Request), Object(Closure)) #40 /project/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/PreventRequestsDuringMaintenance.php(86): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) #41 /project/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Illuminate\\Foundation\\Http\\Middleware\\PreventRequestsDuringMaintenance->handle(Object(Illuminate\\Http\\Request), Object(Closure)) #42 /project/vendor/fruitcake/laravel-cors/src/HandleCors.php(38): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) #43 /project/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Fruitcake\\Cors\\HandleCors->handle(Object(Illuminate\\Http\\Request), Object(Closure)) #44 /project/vendor/fideloper/proxy/src/TrustProxies.php(57): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) #45 /project/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(167): Fideloper\\Proxy\\TrustProxies->handle(Object(Illuminate\\Http\\Request), Object(Closure)) #46 /project/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(103): Illuminate\\Pipeline\\Pipeline->Illuminate\\Pipeline\\{closure}(Object(Illuminate\\Http\\Request)) #47 /project/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(142): Illuminate\\Pipeline\\Pipeline->then(Object(Closure)) #48 /project/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(111): Illuminate\\Foundation\\Http\\Kernel->sendRequestThroughRouter(Object(Illuminate\\Http\\Request)) #49 /project/public/index.php(52): Illuminate\\Foundation\\Http\\Kernel->handle(Object(Illuminate\\Http\\Request)) #50 {main} "}The text was updated successfully, but these errors were encountered: