-
Type:
New Feature
-
Resolution: Unresolved
-
Priority:
Major - P3
-
None
-
Affects Version/s: None
-
Component/s: Operations Layer
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 undesireable 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 invalid option validation 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.
- related to
-
SERVER-28397 shell helper for update must pass through all options
-
- Backlog
-
-
NODE-5510 Do not silently filter out $changeStream stage options when building a change stream cursor via the watch() API
-
- Backlog
-