-
Type:
Investigation
-
Resolution: Unresolved
-
Priority:
Major - P3
-
None
-
Affects Version/s: None
-
Component/s: None
-
None
As a ... Node.js developer using the MongoDB Node.js driver
I want ... to be able to send arbitrary options to CRUD APIs
So that ... they will be included in the command object that is sent to the server and not silently filtered out
db.test.updateOne({_id: 0}, {$set: {u: 1}}, {optionThatDoesNotExist: true})
Given an API call such as the above, the optionThatDoesNotExist will be silently filtered out and not made part of the command object that is sent to the server. This can be undesirable when new server features are introduced that may need to be included from workloads using driver versions that haven't added type support for said option(s).
In these cases, there should be an opt-in feature of the driver that allows CRUD API options to not be validated to ensure we're not filtering them out prior to command construction.
This would be opt-in as there's a real performance concern due to every command needing to be processed for invalid options. This would be beneficial for the MongoDB Shell though as then new features (such as NODE-6290) could be used without having to wait for a dependency update in the underlying driver.
- depends on
-
NODE-7102 Allow unvalidated CRUD API options to be sent with commands
-
- Backlog
-