Upgrade MongoDB Node.js driver to 7.6+ for full MongoDB 9.0 compatibility
Maintainers usually reply within 1 day
Assessment
- Difficulty
- 2/5
- Estimated time
- 1-3 hours
- Newbie friendliness
- 72/100
- Issue type
- Feature
- Clarity
- Clearly specified
- Activity status
- Active
- Tech stack
- javascript, mongodb, node.js
Research direction
Start by locating the mongodb dependency and its lockfile entries, then review the MongoDB CI coverage added in #10750 and #10751. Upgrade the dependency to 7.7.0 and run the relevant test suite against supported MongoDB versions; done means the upgrade is covered by passing tests and MongoDB 9.0 compatibility.
Written by the indexing model from the issue text.
Description
New Feature / Enhancement Checklist
- Report security issues confidentially.
- Any contribution is under this license.
- Before posting search existing issues.
Current Limitation
Parse Server pins the MongoDB Node.js driver at [email protected] (unchanged in 9.10.3). MongoDB 9.0 is generally available, including on Atlas, and #10750 / #10751 add it to the CI matrix, but deployments on MongoDB 9.0 still talk to the database through a driver that MongoDB has not tested against 9.0.
According to MongoDB's official client library compatibility tables (Node.js driver vs MongoDB Server):
| Node.js driver | MongoDB 9.0 | MongoDB 8.0 | MongoDB 7.0 |
|---|---|---|---|
| 7.6 to 7.7 | ✓ fully compatible | ✓ | ✓ |
| 7.3 to 7.5 | ⊛ partially compatible | ✓ | ✓ |
| 6.9 to 7.2 (incl. 7.1.0) | not tested | ✓ | ✓ |
The same page states:
If your application doesn't work with MongoDB 9.0, we recommend upgrading to a driver version that is fully compatible (✓) with it. For the Node.js driver, this includes version 7.6 or later.
Feature / Enhancement Description
Upgrade mongodb from 7.1.0 to 7.7.0, the latest 7.x release and fully compatible with MongoDB 9.0, 8.0 and 7.0.
- Same major version, so no breaking API change is expected for the storage adapter.
[email protected]requires Node.js>=20.19.0, which Parse Server'senginesalready requires.- Lockfile impact is small:
bson7.3.1 → 7.3.3,@mongodb-js/saslprep1.4.12 → 1.6.0, and the separate[email protected]copy nested undermongodb-runneris deduplicated.
Example Use Case
- A Parse Server deployment runs on a MongoDB Atlas cluster.
- The cluster is upgraded from MongoDB 8.0 to 9.0.
- Parse Server keeps working with a driver that MongoDB officially lists as fully compatible with 9.0, instead of an untested combination.
Alternatives / Workarounds
Applications can force the driver version with npm overrides in their own package.json:
"overrides": {
"parse-server": { "mongodb": "7.7.0" }
}
This works, but it runs Parse Server with a driver version its own test suite does not cover, so an upstream upgrade is preferable.
3rd Party References
- Dominant language
- JavaScript
- Stars
- 21.4k
- Forks
- 4.8k
- Avg merge
- 14h 32m
- Merged PRs (30d)
- 62
Getting set up
- Ships a Dockerfile or Docker Compose file
- Has a pull request template
- Read the contributing guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from parse-community/parse-server
-
Add MongoDB 9 to CI test matrixPossibly taken @ga262 claimed this 1 day ago. Open
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
parse-community/parse-server#10750 · 1 comment ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 84/100
parse-community/parse-server#10720 · 1 comment ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
parse-community/parse-server#10710 · 1 comment ·
Maintainers usually reply within 1 day
-
Node.js version in `.nvmrc` does not satisfy `engines.node`Possibly taken @kokokoXUY claimed this 10 days ago. Open
Difficulty 1/5 Under an hour Newbie friendliness 92/100
parse-community/parse-server#10699 · 1 comment ·
Maintainers usually reply within 1 day
-
RedisCacheAdapter put, del and clear reject on a Redis outage, producing unhandled rejectionsPossibly taken @AdrianCurtin claimed this 53 days ago. Open
Difficulty 2/5 1-3 hours Newbie friendliness 78/100
parse-community/parse-server#10634 · 1 comment ·
Maintainers usually reply within 1 day
All issues in parse-community/parse-server
Similar issues
-
Difficulty 2/5 Under an hour Newbie friendliness 85/100
capricorn86/happy-dom#2474 ·
Maintainers usually reply within 2 days
-
bug
Difficulty 2/5 1-3 hours Newbie friendliness 90/100
juice-shop/juice-shop#3662 ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 70/100
-
Add unit-test coverage for API URL resolution and device authentication error handlingPossibly taken @Simranjit8933 claimed this today. Open
Difficulty 2/5 1-3 hours Newbie friendliness 90/100
fossasia/eventyay-checkin#170 · 1 comment ·
Maintainers usually reply within 1 day
-
Difficulty 2/5 1-3 hours Newbie friendliness 75/100
Maintainers usually reply within 1 day