Description
New Issue Checklist
- I am not disclosing a vulnerability.I am not just asking a question.I have searched through existing issues.I can reproduce the issue with the latest version of Parse Server.
Issue Description
Usgin the parse-dashbaord filtered queries are throwing errors.
Steps to reproduce
Send the following query to your parse-server server:
curl 'https://xxx.yyy.com/api/classes/XXX'
-H 'accept: /'
-H 'cache-control: no-cache'
-H 'content-type: text/plain'
-H 'pragma: no-cache'
-H 'sec-fetch-dest: empty'
-H 'sec-fetch-mode: cors'
-H 'sec-fetch-site: cross-site'
-H 'sec-gpc: 1'
--data-raw $'{"where":{"xxx":false},"limit":0,"count":1,"_method":"GET","_ApplicationId":"xxxx","_ClientVersion":"js3.4.2","_MasterKey":"xxxx","_InstallationId":"xxxx"}'
--compressed
Actual Outcome
Error 500
Expected Outcome
Data filtered.
Environment
NODE_ENV: production
Server
- Parse Server version:
5.2.4
- Operating system:
Ubuntu 16.04.2 LTS
- Local or remote host (AWS, Azure, Google Cloud, Heroku, Digital Ocean, etc):
AWS
Database
- System (MongoDB or Postgres):
MongoDB
- Database version:
4.2.0
- Local or remote host (MongoDB Atlas, mLab, AWS, Azure, Google Cloud, etc):
AWS
Client
- SDK (iOS, Android, JavaScript, PHP, Unity, etc):
Javascript
- SDK version:
3.4.2
Logs
21|Parse server | 2022-08-17 09:35 +00:00: 2022-08-17T09:35:10.014Z - error: Uncaught internal server error. this._mongoCollection.countDocuments is not a function level=error, message=Uncaught internal server error. this._mongoCollection.countDocuments is not a function, stack=TypeError: this._mongoCollection.countDocuments is not a function
21|Parse server | at MongoCollection.count (/home/ubuntu/co-parse-server/node_modules/parse-server/src/Adapters/Storage/Mongo/MongoCollection.js:114:50)
21|Parse server | at /home/ubuntu/co-parse-server/node_modules/parse-server/src/Adapters/Storage/Mongo/MongoStorageAdapter.js:745:20
21|Parse server | From previous event:
21|Parse server | at MongoStorageAdapter.count (/home/ubuntu/co-parse-server/node_modules/parse-server/src/Adapters/Storage/Mongo/MongoStorageAdapter.js:744:8)
21|Parse server | at /home/ubuntu/co-parse-server/node_modules/parse-server/src/Controllers/DatabaseController.js:1261:39
21|Parse server | From previous event:
21|Parse server | at /home/ubuntu/co-parse-server/node_modules/parse-server/src/Controllers/DatabaseController.js:1220:14
21|Parse server | From previous event:
21|Parse server | at /home/ubuntu/co-parse-server/node_modules/parse-server/src/Controllers/DatabaseController.js:1180:10
21|Parse server | From previous event:
21|Parse server | at DatabaseController.find (/home/ubuntu/co-parse-server/node_modules/parse-server/src/Controllers/DatabaseController.js:1165:59)
21|Parse server | at RestQuery.runCount (/home/ubuntu/co-parse-server/node_modules/parse-server/src/RestQuery.js:686:31)
21|Parse server | at /home/ubuntu/co-parse-server/node_modules/parse-server/src/RestQuery.js:215:19
21|Parse server | From previous event:
21|Parse server | at RestQuery.execute (/home/ubuntu/co-parse-server/node_modules/parse-server/src/RestQuery.js:214:6)
21|Parse server | at /home/ubuntu/co-parse-server/node_modules/parse-server/src/rest.js:52:20
21|Parse server | at invokeSyncOpn (/home/ubuntu/co-parse-server/node_modules/apminsight/lib/instrument/wrapper.js:269:30)
21|Parse server | at checkAndInvokeCallback (/home/ubuntu/co-parse-server/node_modules/apminsight/lib/instrument/wrapper.js:249:5)
21|Parse server | at Immediate._onImmediate (/home/ubuntu/co-parse-server/node_modules/apminsight/lib/instrument/wrapper.js:226:16)
21|Parse server | at processImmediate (internal/timers.js:464:21)
21|Parse server | at process.topLevelDomainCallback (domain.js:152:15)
21|Parse server | at process.callbackTrampoline (internal/async_hooks.js:128:24)
21|Parse server | From previous event:
21|Parse server | at Object.find (/home/ubuntu/co-parse-server/node_modules/parse-server/src/rest.js:39:6)
21|Parse server | at ClassesRouter.handleFind (/home/ubuntu/co-parse-server/node_modules/parse-server/src/Routers/ClassesRouter.js:35:8)
21|Parse server | at /home/ubuntu/co-parse-server/node_modules/parse-server/src/Routers/ClassesRouter.js:223:19
21|Parse server | at /home/ubuntu/co-parse-server/node_modules/parse-server/src/PromiseRouter.js:150:7
21|Parse server | at Object.invokeSyncOpn (/home/ubuntu/co-parse-server/node_modules/apminsight/lib/instrument/wrapper.js:269:30)
21|Parse server | at handleMiddleware (/home/ubuntu/co-parse-server/node_modules/apminsight/lib/instrument/modules/express.js:156:13)
21|Parse server | at /home/ubuntu/co-parse-server/node_modules/apminsight/lib/instrument/modules/express.js:133:16
21|Parse server | at Layer.handle [as handle_request] (/home/ubuntu/co-parse-server/node_modules/express/lib/router/layer.js:82:5)
21|Parse server | at next (/home/ubuntu/co-parse-server/node_modules/express/lib/router/route.js:110:13)
21|Parse server | at Route.dispatch (/home/ubuntu/co-parse-server/node_modules/express/lib/router/route.js:91:3)
21|Parse server | at Layer.handle [as handle_request] (/home/ubuntu/co-parse-server/node_modules/express/lib/router/layer.js:82:5)
21|Parse server | at /home/ubuntu/co-parse-server/node_modules/express/lib/router/index.js:267:22
21|Parse server | at param (/home/ubuntu/co-parse-server/node_modules/express/lib/router/index.js:340:14)
21|Parse server | at param (/home/ubuntu/co-parse-server/node_modules/express/lib/router/index.js:356:14)
21|Parse server | at Function.proto.process_params (/home/ubuntu/co-parse-server/node_modules/express/lib/router/index.js:400:3)
21|Parse server | at next (/home/ubuntu/co-parse-server/node_modules/express/lib/router/index.js:261:10)
21|Parse server | at Function.proto.handle (/home/ubuntu/co-parse-server/node_modules/express/lib/router/index.js:166:3)
21|Parse server | at router (/home/ubuntu/co-parse-server/node_modules/express/lib/router/index.js:35:12)
21|Parse server | at Object.invokeSyncOpn (/home/ubuntu/co-parse-server/node_modules/apminsight/lib/instrument/wrapper.js:269:30)
21|Parse server | at handleMiddleware (/home/ubuntu/co-parse-server/node_modules/apminsight/lib/instrument/modules/express.js:156:13)
21|Parse server | at /home/ubuntu/co-parse-server/node_modules/apminsight/lib/instrument/modules/express.js:133:16
21|Parse server | at Object.invokeSyncOpn (/home/ubuntu/co-parse-server/node_modules/apminsight/lib/instrument/wrapper.js:269:30)
21|Parse server | at handleMiddleware (/home/ubuntu/co-parse-server/node_modules/apminsight/lib/instrument/modules/express.js:156:13)
21|Parse server | at /home/ubuntu/co-parse-server/node_modules/apminsight/lib/instrument/modules/express.js:133:16
21|Parse server | at Layer.handle [as handle_request] (/home/ubuntu/co-parse-server/node_modules/express/lib/router/layer.js:82:5)
21|Parse server | 2022-08-17 09:35 +00:00: TypeError: this._mongoCollection.countDocuments is not a function
21|Parse server | at MongoCollection.count (/home/ubuntu/co-parse-server/node_modules/parse-server/src/Adapters/Storage/Mongo/MongoCollection.js:114:50)
21|Parse server | at /home/ubuntu/co-parse-server/node_modules/parse-server/src/Adapters/Storage/Mongo/MongoStorageAdapter.js:745:20
21|Parse server | From previous event:
21|Parse server | at MongoStorageAdapter.count (/home/ubuntu/co-parse-server/node_modules/parse-server/src/Adapters/Storage/Mongo/MongoStorageAdapter.js:744:8)
21|Parse server | at /home/ubuntu/co-parse-server/node_modules/parse-server/src/Controllers/DatabaseController.js:1261:39
21|Parse server | From previous event:
21|Parse server | at /home/ubuntu/co-parse-server/node_modules/parse-server/src/Controllers/DatabaseController.js:1220:14
21|Parse server | From previous event:
21|Parse server | at /home/ubuntu/co-parse-server/node_modules/parse-server/src/Controllers/DatabaseController.js:1180:10
21|Parse server | From previous event:
21|Parse server | at DatabaseController.find (/home/ubuntu/co-parse-server/node_modules/parse-server/src/Controllers/DatabaseController.js:1165:59)
21|Parse server | at RestQuery.runCount (/home/ubuntu/co-parse-server/node_modules/parse-server/src/RestQuery.js:686:31)
21|Parse server | at /home/ubuntu/co-parse-server/node_modules/parse-server/src/RestQuery.js:215:19
21|Parse server | From previous event:
21|Parse server | at RestQuery.execute (/home/ubuntu/co-parse-server/node_modules/parse-server/src/RestQuery.js:214:6)
21|Parse server | at /home/ubuntu/co-parse-server/node_modules/parse-server/src/rest.js:52:20
21|Parse server | at invokeSyncOpn (/home/ubuntu/co-parse-server/node_modules/apminsight/lib/instrument/wrapper.js:269:30)
21|Parse server | at checkAndInvokeCallback (/home/ubuntu/co-parse-server/node_modules/apminsight/lib/instrument/wrapper.js:249:5)
21|Parse server | at Immediate._onImmediate (/home/ubuntu/co-parse-server/node_modules/apminsight/lib/instrument/wrapper.js:226:16)
21|Parse server | at processImmediate (internal/timers.js:464:21)
21|Parse server | at process.topLevelDomainCallback (domain.js:152:15)
21|Parse server | at process.callbackTrampoline (internal/async_hooks.js:128:24)
21|Parse server | From previous event:
21|Parse server | at Object.find (/home/ubuntu/co-parse-server/node_modules/parse-server/src/rest.js:39:6)
21|Parse server | at ClassesRouter.handleFind (/home/ubuntu/co-parse-server/node_modules/parse-server/src/Routers/ClassesRouter.js:35:8)
21|Parse server | at /home/ubuntu/co-parse-server/node_modules/parse-server/src/Routers/ClassesRouter.js:223:19
21|Parse server | at /home/ubuntu/co-parse-server/node_modules/parse-server/src/PromiseRouter.js:150:7
21|Parse server | at Object.invokeSyncOpn (/home/ubuntu/co-parse-server/node_modules/apminsight/lib/instrument/wrapper.js:269:30)
21|Parse server | at handleMiddleware (/home/ubuntu/co-parse-server/node_modules/apminsight/lib/instrument/modules/express.js:156:13)
21|Parse server | at /home/ubuntu/co-parse-server/node_modules/apminsight/lib/instrument/modules/express.js:133:16
21|Parse server | at Layer.handle [as handle_request] (/home/ubuntu/co-parse-server/node_modules/express/lib/router/layer.js:82:5)
21|Parse server | at next (/home/ubuntu/co-parse-server/node_modules/express/lib/router/route.js:110:13)
21|Parse server | at Route.dispatch (/home/ubuntu/co-parse-server/node_modules/express/lib/router/route.js:91:3)
21|Parse server | at Layer.handle [as handle_request] (/home/ubuntu/co-parse-server/node_modules/express/lib/router/layer.js:82:5)
21|Parse server | at /home/ubuntu/co-parse-server/node_modules/express/lib/router/index.js:267:22
21|Parse server | at param (/home/ubuntu/co-parse-server/node_modules/express/lib/router/index.js:340:14)
21|Parse server | at param (/home/ubuntu/co-parse-server/node_modules/express/lib/router/index.js:356:14)
21|Parse server | at Function.proto.process_params (/home/ubuntu/co-parse-server/node_modules/express/lib/router/index.js:400:3)
21|Parse server | at next (/home/ubuntu/co-parse-server/node_modules/express/lib/router/index.js:261:10)
21|Parse server | at Function.proto.handle (/home/ubuntu/co-parse-server/node_modules/express/lib/router/index.js:166:3)
21|Parse server | at router (/home/ubuntu/co-parse-server/node_modules/express/lib/router/index.js:35:12)
21|Parse server | at Object.invokeSyncOpn (/home/ubuntu/co-parse-server/node_modules/apminsight/lib/instrument/wrapper.js:269:30)
21|Parse server | at handleMiddleware (/home/ubuntu/co-parse-server/node_modules/apminsight/lib/instrument/modules/express.js:156:13)
21|Parse server | at /home/ubuntu/co-parse-server/node_modules/apminsight/lib/instrument/modules/express.js:133:16
21|Parse server | at Object.invokeSyncOpn (/home/ubuntu/co-parse-server/node_modules/apminsight/lib/instrument/wrapper.js:269:30)
21|Parse server | at handleMiddleware (/home/ubuntu/co-parse-server/node_modules/apminsight/lib/instrument/modules/express.js:156:13)
21|Parse server | at /home/ubuntu/co-parse-server/node_modules/apminsight/lib/instrument/modules/express.js:133:16
21|Parse server | at Layer.handle [as handle_request] (/home/ubuntu/co-parse-server/node_modules/express/lib/router/layer.js:82:5)
7|Parse server | 2022-08-17 09:35 +00:00: (node:3419308) Warning: a promise was created in a handler at /home/ubuntu/co-parse-server/node_modules/express/lib/router/index.js:321:12 but was not returned from it, see http://goo.gl/rRqMUw
7|Parse server | at Function.Promise.cast (/home/ubuntu/co-parse-server/node_modules/bluebird/js/release/promise.js:225:13)
7|Parse server | 2022-08-17 09:35 +00:00: 2022-08-17T09:35:10.239Z - warn: undefined deviceId=1QchQ6eJIa, roomId=AkKp7JPFX7, homeId=Ar1ra382l5, roomName=to-configure, temp=28.94, correctionTemp=0, lastTemp=24.94, lastMeasurementTemp=28.94, lastRoomTempCorrection=0, lastColorCorrectionTemp=0, colorCorrectionPerMeasurementHeat=0, colorCorrectionPerMeasurementCool=0, differenceLastCorrectionToCurrentCorrection=0, colorCorrection=0, originalColorCorrection=0, level=warn
15|Parse server | 2022-08-17 09:35 +00:00: 2022-08-17T09:35:10.412Z - error: Uncaught internal server error. this._mongoCollection.countDocuments is not a function level=error, message=Uncaught internal server error. this._mongoCollection.countDocuments is not a function, stack=TypeError: this._mongoCollection.countDocuments is not a function
15|Parse server | at MongoCollection.count (/home/ubuntu/co-parse-server/node_modules/parse-server/src/Adapters/Storage/Mongo/MongoCollection.js:114:50)
15|Parse server | at /home/ubuntu/co-parse-server/node_modules/parse-server/src/Adapters/Storage/Mongo/MongoStorageAdapter.js:745:20
15|Parse server | From previous event:
15|Parse server | at MongoStorageAdapter.count (/home/ubuntu/co-parse-server/node_modules/parse-server/src/Adapters/Storage/Mongo/MongoStorageAdapter.js:744:8)
15|Parse server | at /home/ubuntu/co-parse-server/node_modules/parse-server/src/Controllers/DatabaseController.js:1261:39
15|Parse server | From previous event:
15|Parse server | at /home/ubuntu/co-parse-server/node_modules/parse-server/src/Controllers/DatabaseController.js:1220:14
15|Parse server | From previous event:
15|Parse server | at /home/ubuntu/co-parse-server/node_modules/parse-server/src/Controllers/DatabaseController.js:1180:10
15|Parse server | From previous event:
15|Parse server | at DatabaseController.find (/home/ubuntu/co-parse-server/node_modules/parse-server/src/Controllers/DatabaseController.js:1165:59)
15|Parse server | at RestQuery.runCount (/home/ubuntu/co-parse-server/node_modules/parse-server/src/RestQuery.js:686:31)
15|Parse server | at /home/ubuntu/co-parse-server/node_modules/parse-server/src/RestQuery.js:215:19
15|Parse server | From previous event:
15|Parse server | at RestQuery.execute (/home/ubuntu/co-parse-server/node_modules/parse-server/src/RestQuery.js:214:6)
15|Parse server | at /home/ubuntu/co-parse-server/node_modules/parse-server/src/rest.js:52:20
15|Parse server | at invokeSyncOpn (/home/ubuntu/co-parse-server/node_modules/apminsight/lib/instrument/wrapper.js:269:30)
15|Parse server | at checkAndInvokeCallback (/home/ubuntu/co-parse-server/node_modules/apminsight/lib/instrument/wrapper.js:249:5)
15|Parse server | at Immediate._onImmediate (/home/ubuntu/co-parse-server/node_modules/apminsight/lib/instrument/wrapper.js:226:16)
15|Parse server | at processImmediate (internal/timers.js:464:21)
15|Parse server | at process.topLevelDomainCallback (domain.js:152:15)
15|Parse server | at process.callbackTrampoline (internal/async_hooks.js:128:24)
15|Parse server | From previous event:
15|Parse server | at Object.find (/home/ubuntu/co-parse-server/node_modules/parse-server/src/rest.js:39:6)
15|Parse server | at ClassesRouter.handleFind (/home/ubuntu/co-parse-server/node_modules/parse-server/src/Routers/ClassesRouter.js:35:8)
15|Parse server | at /home/ubuntu/co-parse-server/node_modules/parse-server/src/Routers/ClassesRouter.js:223:19
15|Parse server | at /home/ubuntu/co-parse-server/node_modules/parse-server/src/PromiseRouter.js:150:7
15|Parse server | at Object.invokeSyncOpn (/home/ubuntu/co-parse-server/node_modules/apminsight/lib/instrument/wrapper.js:269:30)
15|Parse server | at handleMiddleware (/home/ubuntu/co-parse-server/node_modules/apminsight/lib/instrument/modules/express.js:156:13)
15|Parse server | at /home/ubuntu/co-parse-server/node_modules/apminsight/lib/instrument/modules/express.js:133:16
15|Parse server | at Layer.handle [as handle_request] (/home/ubuntu/co-parse-server/node_modules/express/lib/router/layer.js:82:5)
15|Parse server | at next (/home/ubuntu/co-parse-server/node_modules/express/lib/router/route.js:110:13)
15|Parse server | at Route.dispatch (/home/ubuntu/co-parse-server/node_modules/express/lib/router/route.js:91:3)
15|Parse server | at Layer.handle [as handle_request] (/home/ubuntu/co-parse-server/node_modules/express/lib/router/layer.js:82:5)
15|Parse server | at /home/ubuntu/co-parse-server/node_modules/express/lib/router/index.js:267:22
15|Parse server | at param (/home/ubuntu/co-parse-server/node_modules/express/lib/router/index.js:340:14)
15|Parse server | at param (/home/ubuntu/co-parse-server/node_modules/express/lib/router/index.js:356:14)
15|Parse server | at Function.proto.process_params (/home/ubuntu/co-parse-server/node_modules/express/lib/router/index.js:400:3)
15|Parse server | at next (/home/ubuntu/co-parse-server/node_modules/express/lib/router/index.js:261:10)
15|Parse server | at Function.proto.handle (/home/ubuntu/co-parse-server/node_modules/express/lib/router/index.js:166:3)
15|Parse server | at router (/home/ubuntu/co-parse-server/node_modules/express/lib/router/index.js:35:12)
15|Parse server | at Object.invokeSyncOpn (/home/ubuntu/co-parse-server/node_modules/apminsight/lib/instrument/wrapper.js:269:30)
15|Parse server | at handleMiddleware (/home/ubuntu/co-parse-server/node_modules/apminsight/lib/instrument/modules/express.js:156:13)
15|Parse server | at /home/ubuntu/co-parse-server/node_modules/apminsight/lib/instrument/modules/express.js:133:16
15|Parse server | at Object.invokeSyncOpn (/home/ubuntu/co-parse-server/node_modules/apminsight/lib/instrument/wrapper.js:269:30)
15|Parse server | at handleMiddleware (/home/ubuntu/co-parse-server/node_modules/apminsight/lib/instrument/modules/express.js:156:13)
15|Parse server | at /home/ubuntu/co-parse-server/node_modules/apminsight/lib/instrument/modules/express.js:133:16
15|Parse server | at Layer.handle [as handle_request] (/home/ubuntu/co-parse-server/node_modules/express/lib/router/layer.js:82:5)
15|Parse server | 2022-08-17 09:35 +00:00: TypeError: this._mongoCollection.countDocuments is not a function
15|Parse server | at MongoCollection.count (/home/ubuntu/co-parse-server/node_modules/parse-server/src/Adapters/Storage/Mongo/MongoCollection.js:114:50)
15|Parse server | at /home/ubuntu/co-parse-server/node_modules/parse-server/src/Adapters/Storage/Mongo/MongoStorageAdapter.js:745:20
15|Parse server | From previous event:
15|Parse server | at MongoStorageAdapter.count (/home/ubuntu/co-parse-server/node_modules/parse-server/src/Adapters/Storage/Mongo/MongoStorageAdapter.js:744:8)
15|Parse server | at /home/ubuntu/co-parse-server/node_modules/parse-server/src/Controllers/DatabaseController.js:1261:39
15|Parse server | From previous event:
15|Parse server | at /home/ubuntu/co-parse-server/node_modules/parse-server/src/Controllers/DatabaseController.js:1220:14
15|Parse server | From previous event:
15|Parse server | at /home/ubuntu/co-parse-server/node_modules/parse-server/src/Controllers/DatabaseController.js:1180:10
15|Parse server | From previous event:
15|Parse server | at DatabaseController.find (/home/ubuntu/co-parse-server/node_modules/parse-server/src/Controllers/DatabaseController.js:1165:59)
15|Parse server | at RestQuery.runCount (/home/ubuntu/co-parse-server/node_modules/parse-server/src/RestQuery.js:686:31)
15|Parse server | at /home/ubuntu/co-parse-server/node_modules/parse-server/src/RestQuery.js:215:19
15|Parse server | From previous event:
15|Parse server | at RestQuery.execute (/home/ubuntu/co-parse-server/node_modules/parse-server/src/RestQuery.js:214:6)
15|Parse server | at /home/ubuntu/co-parse-server/node_modules/parse-server/src/rest.js:52:20
15|Parse server | at invokeSyncOpn (/home/ubuntu/co-parse-server/node_modules/apminsight/lib/instrument/wrapper.js:269:30)
15|Parse server | at checkAndInvokeCallback (/home/ubuntu/co-parse-server/node_modules/apminsight/lib/instrument/wrapper.js:249:5)
15|Parse server | at Immediate._onImmediate (/home/ubuntu/co-parse-server/node_modules/apminsight/lib/instrument/wrapper.js:226:16)
15|Parse server | at processImmediate (internal/timers.js:464:21)
15|Parse server | at process.topLevelDomainCallback (domain.js:152:15)
15|Parse server | at process.callbackTrampoline (internal/async_hooks.js:128:24)
15|Parse server | From previous event:
15|Parse server | at Object.find (/home/ubuntu/co-parse-server/node_modules/parse-server/src/rest.js:39:6)
15|Parse server | at ClassesRouter.handleFind (/home/ubuntu/co-parse-server/node_modules/parse-server/src/Routers/ClassesRouter.js:35:8)
15|Parse server | at /home/ubuntu/co-parse-server/node_modules/parse-server/src/Routers/ClassesRouter.js:223:19
15|Parse server | at /home/ubuntu/co-parse-server/node_modules/parse-server/src/PromiseRouter.js:150:7
15|Parse server | at Object.invokeSyncOpn (/home/ubuntu/co-parse-server/node_modules/apminsight/lib/instrument/wrapper.js:269:30)
15|Parse server | at handleMiddleware (/home/ubuntu/co-parse-server/node_modules/apminsight/lib/instrument/modules/express.js:156:13)
15|Parse server | at /home/ubuntu/co-parse-server/node_modules/apminsight/lib/instrument/modules/express.js:133:16
15|Parse server | at Layer.handle [as handle_request] (/home/ubuntu/co-parse-server/node_modules/express/lib/router/layer.js:82:5)
15|Parse server | at next (/home/ubuntu/co-parse-server/node_modules/express/lib/router/route.js:110:13)
15|Parse server | at Route.dispatch (/home/ubuntu/co-parse-server/node_modules/express/lib/router/route.js:91:3)
15|Parse server | at Layer.handle [as handle_request] (/home/ubuntu/co-parse-server/node_modules/express/lib/router/layer.js:82:5)
15|Parse server | at /home/ubuntu/co-parse-server/node_modules/express/lib/router/index.js:267:22
15|Parse server | at param (/home/ubuntu/co-parse-server/node_modules/express/lib/router/index.js:340:14)
15|Parse server | at param (/home/ubuntu/co-parse-server/node_modules/express/lib/router/index.js:356:14)
15|Parse server | at Function.proto.process_params (/home/ubuntu/co-parse-server/node_modules/express/lib/router/index.js:400:3)
15|Parse server | at next (/home/ubuntu/co-parse-server/node_modules/express/lib/router/index.js:261:10)
15|Parse server | at Function.proto.handle (/home/ubuntu/co-parse-server/node_modules/express/lib/router/index.js:166:3)
15|Parse server | at router (/home/ubuntu/co-parse-server/node_modules/express/lib/router/index.js:35:12)
15|Parse server | at Object.invokeSyncOpn (/home/ubuntu/co-parse-server/node_modules/apminsight/lib/instrument/wrapper.js:269:30)
15|Parse server | at handleMiddleware (/home/ubuntu/co-parse-server/node_modules/apminsight/lib/instrument/modules/express.js:156:13)
15|Parse server | at /home/ubuntu/co-parse-server/node_modules/apminsight/lib/instrument/modules/express.js:133:16
15|Parse server | at Object.invokeSyncOpn (/home/ubuntu/co-parse-server/node_modules/apminsight/lib/instrument/wrapper.js:269:30)
15|Parse server | at handleMiddleware (/home/ubuntu/co-parse-server/node_modules/apminsight/lib/instrument/modules/express.js:156:13)
15|Parse server | at /home/ubuntu/co-parse-server/node_modules/apminsight/lib/instrument/modules/express.js:133:16
15|Parse server | at Layer.handle [as handle_request] (/home/ubuntu/co-parse-server/node_modules/express/lib/router/layer.js:82:5)
34|Parse server | 2022-08-17 09:35 +00:00: 2022-08-17T09:35:10.522Z - error: Uncaught internal server error. this._mongoCollection.countDocuments is not a function level=error, message=Uncaught internal server error. this._mongoCollection.countDocuments is not a function, stack=TypeError: this._mongoCollection.countDocuments is not a function
34|Parse server | at MongoCollection.count (/home/ubuntu/co-parse-server/node_modules/parse-server/src/Adapters/Storage/Mongo/MongoCollection.js:114:50)
34|Parse server | at /home/ubuntu/co-parse-server/node_modules/parse-server/src/Adapters/Storage/Mongo/MongoStorageAdapter.js:745:20
34|Parse server | From previous event:
34|Parse server | at MongoStorageAdapter.count (/home/ubuntu/co-parse-server/node_modules/parse-server/src/Adapters/Storage/Mongo/MongoStorageAdapter.js:744:8)
34|Parse server | at /home/ubuntu/co-parse-server/node_modules/parse-server/src/Controllers/DatabaseController.js:1261:39
34|Parse server | From previous event:
34|Parse server | at /home/ubuntu/co-parse-server/node_modules/parse-server/src/Controllers/DatabaseController.js:1220:14
34|Parse server | From previous event:
34|Parse server | at /home/ubuntu/co-parse-server/node_modules/parse-server/src/Controllers/DatabaseController.js:1180:10
34|Parse server | From previous event:
34|Parse server | at DatabaseController.find (/home/ubuntu/co-parse-server/node_modules/parse-server/src/Controllers/DatabaseController.js:1165:59)
34|Parse server | at RestQuery.runCount (/home/ubuntu/co-parse-server/node_modules/parse-server/src/RestQuery.js:686:31)
34|Parse server | at /home/ubuntu/co-parse-server/node_modules/parse-server/src/RestQuery.js:215:19
34|Parse server | From previous event:
34|Parse server | at RestQuery.execute (/home/ubuntu/co-parse-server/node_modules/parse-server/src/RestQuery.js:214:6)
34|Parse server | at /home/ubuntu/co-parse-server/node_modules/parse-server/src/rest.js:52:20
34|Parse server | at invokeSyncOpn (/home/ubuntu/co-parse-server/node_modules/apminsight/lib/instrument/wrapper.js:269:30)
34|Parse server | at checkAndInvokeCallback (/home/ubuntu/co-parse-server/node_modules/apminsight/lib/instrument/wrapper.js:249:5)
34|Parse server | at Immediate._onImmediate (/home/ubuntu/co-parse-server/node_modules/apminsight/lib/instrument/wrapper.js:226:16)
34|Parse server | at processImmediate (internal/timers.js:464:21)
34|Parse server | at process.topLevelDomainCallback (domain.js:152:15)
34|Parse server | at process.callbackTrampoline (internal/async_hooks.js:128:24)
34|Parse server | From previous event:
34|Parse server | at Object.find (/home/ubuntu/co-parse-server/node_modules/parse-server/src/rest.js:39:6)
34|Parse server | at ClassesRouter.handleFind (/home/ubuntu/co-parse-server/node_modules/parse-server/src/Routers/ClassesRouter.js:35:8)
34|Parse server | at /home/ubuntu/co-parse-server/node_modules/parse-server/src/Routers/ClassesRouter.js:223:19
34|Parse server | at /home/ubuntu/co-parse-server/node_modules/parse-server/src/PromiseRouter.js:150:7
34|Parse server | at Object.invokeSyncOpn (/home/ubuntu/co-parse-server/node_modules/apminsight/lib/instrument/wrapper.js:269:30)
34|Parse server | at handleMiddleware (/home/ubuntu/co-parse-server/node_modules/apminsight/lib/instrument/modules/express.js:156:13)
34|Parse server | at /home/ubuntu/co-parse-server/node_modules/apminsight/lib/instrument/modules/express.js:133:16
34|Parse server | at Layer.handle [as handle_request] (/home/ubuntu/co-parse-server/node_modules/express/lib/router/layer.js:82:5)
34|Parse server | at next (/home/ubuntu/co-parse-server/node_modules/express/lib/router/route.js:110:13)
34|Parse server | at Route.dispatch (/home/ubuntu/co-parse-server/node_modules/express/lib/router/route.js:91:3)
34|Parse server | at Layer.handle [as handle_request] (/home/ubuntu/co-parse-server/node_modules/express/lib/router/layer.js:82:5)
34|Parse server | at /home/ubuntu/co-parse-server/node_modules/express/lib/router/index.js:267:22
34|Parse server | at param (/home/ubuntu/co-parse-server/node_modules/express/lib/router/index.js:340:14)
34|Parse server | at param (/home/ubuntu/co-parse-server/node_modules/express/lib/router/index.js:356:14)
34|Parse server | at Function.proto.process_params (/home/ubuntu/co-parse-server/node_modules/express/lib/router/index.js:400:3)
34|Parse server | at next (/home/ubuntu/co-parse-server/node_modules/express/lib/router/index.js:261:10)
34|Parse server | at Function.proto.handle (/home/ubuntu/co-parse-server/node_modules/express/lib/router/index.js:166:3)
34|Parse server | at router (/home/ubuntu/co-parse-server/node_modules/express/lib/router/index.js:35:12)
34|Parse server | at Object.invokeSyncOpn (/home/ubuntu/co-parse-server/node_modules/apminsight/lib/instrument/wrapper.js:269:30)
34|Parse server | at handleMiddleware (/home/ubuntu/co-parse-server/node_modules/apminsight/lib/instrument/modules/express.js:156:13)
34|Parse server | at /home/ubuntu/co-parse-server/node_modules/apminsight/lib/instrument/modules/express.js:133:16
34|Parse server | at Object.invokeSyncOpn (/home/ubuntu/co-parse-server/node_modules/apminsight/lib/instrument/wrapper.js:269:30)
34|Parse server | at handleMiddleware (/home/ubuntu/co-parse-server/node_modules/apminsight/lib/instrument/modules/express.js:156:13)
34|Parse server | at /home/ubuntu/co-parse-server/node_modules/apminsight/lib/instrument/modules/express.js:133:16
34|Parse server | at Layer.handle [as handle_request] (/home/ubuntu/co-parse-server/node_modules/express/lib/router/layer.js:82:5)
34|Parse server | 2022-08-17 09:35 +00:00: TypeError: this._mongoCollection.countDocuments is not a function
34|Parse server | at MongoCollection.count (/home/ubuntu/co-parse-server/node_modules/parse-server/src/Adapters/Storage/Mongo/MongoCollection.js:114:50)
34|Parse server | at /home/ubuntu/co-parse-server/node_modules/parse-server/src/Adapters/Storage/Mongo/MongoStorageAdapter.js:745:20
34|Parse server | From previous event:
34|Parse server | at MongoStorageAdapter.count (/home/ubuntu/co-parse-server/node_modules/parse-server/src/Adapters/Storage/Mongo/MongoStorageAdapter.js:744:8)
34|Parse server | at /home/ubuntu/co-parse-server/node_modules/parse-server/src/Controllers/DatabaseController.js:1261:39
34|Parse server | From previous event:
34|Parse server | at /home/ubuntu/co-parse-server/node_modules/parse-server/src/Controllers/DatabaseController.js:1220:14
34|Parse server | From previous event:
34|Parse server | at /home/ubuntu/co-parse-server/node_modules/parse-server/src/Controllers/DatabaseController.js:1180:10
34|Parse server | From previous event:
34|Parse server | at DatabaseController.find (/home/ubuntu/co-parse-server/node_modules/parse-server/src/Controllers/DatabaseController.js:1165:59)
34|Parse server | at RestQuery.runCount (/home/ubuntu/co-parse-server/node_modules/parse-server/src/RestQuery.js:686:31)
34|Parse server | at /home/ubuntu/co-parse-server/node_modules/parse-server/src/RestQuery.js:215:19
34|Parse server | From previous event:
34|Parse server | at RestQuery.execute (/home/ubuntu/co-parse-server/node_modules/parse-server/src/RestQuery.js:214:6)
34|Parse server | at /home/ubuntu/co-parse-server/node_modules/parse-server/src/rest.js:52:20
34|Parse server | at invokeSyncOpn (/home/ubuntu/co-parse-server/node_modules/apminsight/lib/instrument/wrapper.js:269:30)
34|Parse server | at checkAndInvokeCallback (/home/ubuntu/co-parse-server/node_modules/apminsight/lib/instrument/wrapper.js:249:5)
34|Parse server | at Immediate._onImmediate (/home/ubuntu/co-parse-server/node_modules/apminsight/lib/instrument/wrapper.js:226:16)
34|Parse server | at processImmediate (internal/timers.js:464:21)
34|Parse server | at process.topLevelDomainCallback (domain.js:152:15)
34|Parse server | at process.callbackTrampoline (internal/async_hooks.js:128:24)
34|Parse server | From previous event:
34|Parse server | at Object.find (/home/ubuntu/co-parse-server/node_modules/parse-server/src/rest.js:39:6)
34|Parse server | at ClassesRouter.handleFind (/home/ubuntu/co-parse-server/node_modules/parse-server/src/Routers/ClassesRouter.js:35:8)
34|Parse server | at /home/ubuntu/co-parse-server/node_modules/parse-server/src/Routers/ClassesRouter.js:223:19
34|Parse server | at /home/ubuntu/co-parse-server/node_modules/parse-server/src/PromiseRouter.js:150:7
34|Parse server | at Object.invokeSyncOpn (/home/ubuntu/co-parse-server/node_modules/apminsight/lib/instrument/wrapper.js:269:30)
34|Parse server | at handleMiddleware (/home/ubuntu/co-parse-server/node_modules/apminsight/lib/instrument/modules/express.js:156:13)
34|Parse server | at /home/ubuntu/co-parse-server/node_modules/apminsight/lib/instrument/modules/express.js:133:16
34|Parse server | at Layer.handle [as handle_request] (/home/ubuntu/co-parse-server/node_modules/express/lib/router/layer.js:82:5)
34|Parse server | at next (/home/ubuntu/co-parse-server/node_modules/express/lib/router/route.js:110:13)
34|Parse server | at Route.dispatch (/home/ubuntu/co-parse-server/node_modules/express/lib/router/route.js:91:3)
34|Parse server | at Layer.handle [as handle_request] (/home/ubuntu/co-parse-server/node_modules/express/lib/router/layer.js:82:5)
34|Parse server | at /home/ubuntu/co-parse-server/node_modules/express/lib/router/index.js:267:22
34|Parse server | at param (/home/ubuntu/co-parse-server/node_modules/express/lib/router/index.js:340:14)
34|Parse server | at param (/home/ubuntu/co-parse-server/node_modules/express/lib/router/index.js:356:14)
34|Parse server | at Function.proto.process_params (/home/ubuntu/co-parse-server/node_modules/express/lib/router/index.js:400:3)
34|Parse server | at next (/home/ubuntu/co-parse-server/node_modules/express/lib/router/index.js:261:10)
34|Parse server | at Function.proto.handle (/home/ubuntu/co-parse-server/node_modules/express/lib/router/index.js:166:3)
34|Parse server | at router (/home/ubuntu/co-parse-server/node_modules/express/lib/router/index.js:35:12)
34|Parse server | at Object.invokeSyncOpn (/home/ubuntu/co-parse-server/node_modules/apminsight/lib/instrument/wrapper.js:269:30)
34|Parse server | at handleMiddleware (/home/ubuntu/co-parse-server/node_modules/apminsight/lib/instrument/modules/express.js:156:13)
34|Parse server | at /home/ubuntu/co-parse-server/node_modules/apminsight/lib/instrument/modules/express.js:133:16
34|Parse server | at Object.invokeSyncOpn (/home/ubuntu/co-parse-server/node_modules/apminsight/lib/instrument/wrapper.js:269:30)
34|Parse server | at handleMiddleware (/home/ubuntu/co-parse-server/node_modules/apminsight/lib/instrument/modules/express.js:156:13)
34|Parse server | at /home/ubuntu/co-parse-server/node_modules/apminsight/lib/instrument/modules/express.js:133:16
34|Parse server | at Layer.handle [as handle_request] (/home/ubuntu/co-parse-server/node_modules/express/lib/router/layer.js:82:5)
35|Parse server | 2022-08-17 09:35 +00:00: (node:3419927) Warning: a promise was created in a handler at /home/ubuntu/co-parse-server/node_modules/express/lib/router/index.js:321:12 but was not returned from it, see http://goo.gl/rRqMUw
35|Parse server | at Function.Promise.cast (/home/ubuntu/co-parse-server/node_modules/bluebird/js/release/promise.js:225:13)
Activity
parse-github-assistant commentedon Aug 17, 2022
Thanks for opening this issue!
mtrezza commentedon Aug 17, 2022
Could this be related to the MongoDB version? Could you create a PR with a failing test?
Simone-cogno commentedon Aug 17, 2022
I unfortunately don't have time to do that (I'm also not yet a contributor so that will require me some time to setup it). If you think that could be the database I can try to update it to the last version and try again. I'm sorry to not be able to provide the failing test cases that reproduce this issue.
Simone-cogno commentedon Aug 18, 2022
I've tried to update to MongoDB v4.4.5 and version v5.0.1 I have the same issue with parse-server 5.2.4. Seems like that the parse-server does not like the
"count":1
part in the HTTP query. If I remove that part I don't get any errors from the server.@mtrezza so this seems a bug in the parse-server at least that the
count: 1
is not anymore supported in the new version 5.x but i couldn't find it in the release notes. I've only noticed that in 5.x the MongoDB driver was updated to support MongoDB 5.x maybe that caused the error https://github.com/parse-community/parse-server/releases/tag/5.0.0-alpha.22 . Any changes this could be addressed? It makes the parse-dashboard not usable anymore and I don't want to downgrade parse-server as I've already made the upgrade in production (and a part this it works fine). Thanks!mtrezza commentedon Aug 18, 2022
Isn't your query very similar to this test?
parse-server/spec/RestQuery.spec.js
Lines 261 to 275 in f693b55
To be sure I've added another test that uses the REST API with similar parameters as in your description:
https://github.com/parse-community/parse-server/pull/8135/files
The PR passes all tests, so could you please take a look at the test and maybe repeat the test in your environment? If you see a difference between your query and the one in the test please let me know. The test uses the REST API, but your request seems to come from the. Parse JS SDK, however they should result in the same.
Parse.Query
withcount
option throws error #8135mtrezza commentedon Sep 3, 2022
Could the issue be related to this from the MongoDB release notes:
#8135 did not produce any errors in the CI, maybe because it wasn't using any of the affected MongoDB versions. You indicated MongoDB 4.2.0, are you sure you are using this version when the issue occurs?
Simone-cogno commentedon Sep 5, 2022
@mtrezza yes I'm 100% sure that is this MongoDB version as my production server is running with it (v4.2.0). I'm still experiencing this issue at the moment, I was not able to resolve it in any environment for now but I have tested it only on MongoDB version > 4.2. For now I'm using a MongoDB database management tool as the Parse Dashboard is not anymore usable for me...
mtrezza commentedon Sep 8, 2022
Were you able to reproduce the issue with the REST API call that you mention in your first comment?
Simone-cogno commentedon Sep 19, 2022
@mtrezza yes locally I can reproduce the issue that I've described with the MongoDB version that I've tried. It's not possible to add a try/catch in case the MongoDB does not support the "estimatedDocumentCount" ? I mean worst case we don't see the count of the document if this function is not supported by the db. Currently I still unable to use the dashboard which is not optimal for my business as it is an important part of my toolbox for managing the DB.
mtrezza commentedon Sep 19, 2022
We make changes based on analysis. So we'd need to come to a conclusion what the underlying issue is and what a fixes requires. To do that we need to be able to reproduce the issue.
If there is a business urgency, we may be able to tap into our paid contributors resources and assign someone to analyze it. If you are interested we can discuss in chat.