From 8a22e6b8faf03a26fc935aee1dd2c6d5cb47eec4 Mon Sep 17 00:00:00 2001 From: Manuel Trezza <5673677+mtrezza@users.noreply.github.com> Date: Fri, 12 Dec 2025 01:42:14 +0100 Subject: [PATCH] fix --- .github/workflows/ci.yml | 4 -- README.md | 2 +- package.json | 1 - spec/ParseQuery.hint.spec.js | 82 ------------------------------------ 4 files changed, 1 insertion(+), 88 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index a2be99ec13..44594613c2 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -153,10 +153,6 @@ jobs: strategy: matrix: include: - - name: MongoDB 6, ReplicaSet - MONGODB_VERSION: 6.0.19 - MONGODB_TOPOLOGY: replset - NODE_VERSION: 24.11.0 - name: MongoDB 7, ReplicaSet MONGODB_VERSION: 7.0.16 MONGODB_TOPOLOGY: replset diff --git a/README.md b/README.md index ad51487019..ba9d3893eb 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ [![auto-release](https://img.shields.io/badge/%F0%9F%9A%80-auto--release-9e34eb.svg)](https://github.com/parse-community/parse-dashboard/releases) [![Node Version](https://img.shields.io/badge/nodejs-18,_20,_22,_24-green.svg?logo=node.js&style=flat)](https://nodejs.org) -[![MongoDB Version](https://img.shields.io/badge/mongodb-6,_7,_8-green.svg?logo=mongodb&style=flat)](https://www.mongodb.com) +[![MongoDB Version](https://img.shields.io/badge/mongodb-7,_8-green.svg?logo=mongodb&style=flat)](https://www.mongodb.com) [![Postgres Version](https://img.shields.io/badge/postgresql-13,_14,_15,_16,_17,_18-green.svg?logo=postgresql&style=flat)](https://www.postgresql.org) [![npm latest version](https://img.shields.io/npm/v/parse-server/latest.svg)](https://www.npmjs.com/package/parse-server) diff --git a/package.json b/package.json index 5d47aca20d..47680669a7 100644 --- a/package.json +++ b/package.json @@ -122,7 +122,6 @@ "build:types": "tsc", "watch": "babel --watch src/ -d lib/ --copy-files", "watch:ts": "tsc --watch", - "test:mongodb:6.0.19": "MONGODB_VERSION=6.0.19 npm run test", "test:mongodb:7.0.16": "MONGODB_VERSION=7.0.16 npm run test", "test:mongodb:8.0.4": "MONGODB_VERSION=8.0.4 npm run test", "test:postgres:testonly": "cross-env PARSE_SERVER_TEST_DB=postgres PARSE_SERVER_TEST_DATABASE_URI=postgres://postgres:password@localhost:5432/parse_server_postgres_adapter_test_database npm run testonly", diff --git a/spec/ParseQuery.hint.spec.js b/spec/ParseQuery.hint.spec.js index 0905eb7d32..5a6ed63b19 100644 --- a/spec/ParseQuery.hint.spec.js +++ b/spec/ParseQuery.hint.spec.js @@ -79,30 +79,6 @@ describe_only_db('mongo')('Parse.Query hint', () => { }); }); - it_only_mongodb_version('<7')('query aggregate with hint string', async () => { - const object = new TestObject({ foo: 'bar' }); - await object.save(); - - const collection = await config.database.adapter._adaptiveCollection('TestObject'); - let result = await collection.aggregate([{ $group: { _id: '$foo' } }], { - explain: true, - }); - let queryPlanner = result[0].stages[0].$cursor.queryPlanner; - expect(queryPlanner.winningPlan.stage).toBe('PROJECTION_SIMPLE'); - expect(queryPlanner.winningPlan.inputStage.stage).toBe('COLLSCAN'); - expect(queryPlanner.winningPlan.inputStage.inputStage).toBeUndefined(); - - result = await collection.aggregate([{ $group: { _id: '$foo' } }], { - hint: '_id_', - explain: true, - }); - queryPlanner = result[0].stages[0].$cursor.queryPlanner; - expect(queryPlanner.winningPlan.stage).toBe('PROJECTION_SIMPLE'); - expect(queryPlanner.winningPlan.inputStage.stage).toBe('FETCH'); - expect(queryPlanner.winningPlan.inputStage.inputStage.stage).toBe('IXSCAN'); - expect(queryPlanner.winningPlan.inputStage.inputStage.indexName).toBe('_id_'); - }); - it_only_mongodb_version('>=7')('query aggregate with hint string', async () => { const object = new TestObject({ foo: 'bar' }); await object.save(); @@ -127,31 +103,6 @@ describe_only_db('mongo')('Parse.Query hint', () => { expect(queryPlanner.winningPlan.queryPlan.inputStage.inputStage.indexName).toBe('_id_'); }); - it_only_mongodb_version('<7')('query aggregate with hint object', async () => { - const object = new TestObject({ foo: 'bar' }); - await object.save(); - - const collection = await config.database.adapter._adaptiveCollection('TestObject'); - let result = await collection.aggregate([{ $group: { _id: '$foo' } }], { - explain: true, - }); - let queryPlanner = result[0].stages[0].$cursor.queryPlanner; - expect(queryPlanner.winningPlan.stage).toBe('PROJECTION_SIMPLE'); - expect(queryPlanner.winningPlan.inputStage.stage).toBe('COLLSCAN'); - expect(queryPlanner.winningPlan.inputStage.inputStage).toBeUndefined(); - - result = await collection.aggregate([{ $group: { _id: '$foo' } }], { - hint: { _id: 1 }, - explain: true, - }); - queryPlanner = result[0].stages[0].$cursor.queryPlanner; - expect(queryPlanner.winningPlan.stage).toBe('PROJECTION_SIMPLE'); - expect(queryPlanner.winningPlan.inputStage.stage).toBe('FETCH'); - expect(queryPlanner.winningPlan.inputStage.inputStage.stage).toBe('IXSCAN'); - expect(queryPlanner.winningPlan.inputStage.inputStage.indexName).toBe('_id_'); - expect(queryPlanner.winningPlan.inputStage.inputStage.keyPattern).toEqual({ _id: 1 }); - }); - it_only_mongodb_version('>=7')('query aggregate with hint object', async () => { const object = new TestObject({ foo: 'bar' }); await object.save(); @@ -202,39 +153,6 @@ describe_only_db('mongo')('Parse.Query hint', () => { expect(explain.queryPlanner.winningPlan.inputStage.inputStage.indexName).toBe('_id_'); }); - it_only_mongodb_version('<7')('query aggregate with hint (rest)', async () => { - const object = new TestObject({ foo: 'bar' }); - await object.save(); - let options = Object.assign({}, masterKeyOptions, { - url: Parse.serverURL + '/aggregate/TestObject', - qs: { - explain: true, - $group: JSON.stringify({ _id: '$foo' }), - }, - }); - let response = await request(options); - let queryPlanner = response.data.results[0].stages[0].$cursor.queryPlanner; - expect(queryPlanner.winningPlan.stage).toBe('PROJECTION_SIMPLE'); - expect(queryPlanner.winningPlan.inputStage.stage).toBe('COLLSCAN'); - expect(queryPlanner.winningPlan.inputStage.inputStage).toBeUndefined(); - - options = Object.assign({}, masterKeyOptions, { - url: Parse.serverURL + '/aggregate/TestObject', - qs: { - explain: true, - hint: '_id_', - $group: JSON.stringify({ _id: '$foo' }), - }, - }); - response = await request(options); - queryPlanner = response.data.results[0].stages[0].$cursor.queryPlanner; - expect(queryPlanner.winningPlan.stage).toBe('PROJECTION_SIMPLE'); - expect(queryPlanner.winningPlan.inputStage.stage).toBe('FETCH'); - expect(queryPlanner.winningPlan.inputStage.inputStage.stage).toBe('IXSCAN'); - expect(queryPlanner.winningPlan.inputStage.inputStage.indexName).toBe('_id_'); - expect(queryPlanner.winningPlan.inputStage.inputStage.keyPattern).toEqual({ _id: 1 }); - }); - it_only_mongodb_version('>=7')('query aggregate with hint (rest)', async () => { const object = new TestObject({ foo: 'bar' }); await object.save();