Allow unvalidated API options to be sent with commands

XMLWordPrintableJSON

    • Type: New Feature
    • Resolution: Unresolved
    • Priority: Major - P3
    • None
    • Affects Version/s: None
    • Component/s: Operations Layer
    • None
    • Hide

      1. What would you like to communicate to the user about this feature?
      2. Would you like the user to see examples of the syntax and/or executable code and its output?
      3. Which versions of the driver/connector does this apply to?

      Show
      1. What would you like to communicate to the user about this feature? 2. Would you like the user to see examples of the syntax and/or executable code and its output? 3. Which versions of the driver/connector does this apply to?
    • None
    • None
    • None
    • None
    • 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 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.

              Assignee:
              Unassigned
              Reporter:
              Alex Bevilacqua
              None
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Created:
                Updated: