Drivers

  • Hot ideas
  • Top ideas
  • New ideas
  • My feedback
  1. Expired Transactions failures should be reported more clearly in the driver error message

    Long-running transactions may trigger an aborted transaction, but the cause is not clearly communicated by the driver exception message.

    Failed: Command insert failed: Transaction 1 has been aborted..
    Unhandled exception. MongoDB.Driver.MongoCommandException: Command insert failed: Transaction 1 has been aborted..

    To reproduce, set a very low timeout:

    replicaset:PRIMARY> db.adminCommand( { setParameter: 1, transactionLifetimeLimitSeconds: 1 } )

    Then run a long running transaction from the C# driver.

    The cause can be confirmed by checking the MongoDB log for a [abortExpiredTransaction]:

    replicaset:PRIMARY> show log global

    2020-07-31T03:59:49.196+0000 I COMMAND [abortExpiredTransactions] Aborting transaction with txnNumber 1 on session xxxxxx because it has been running for…

    1 vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  C#  ·  Flag idea as inappropriate…  ·  Admin →
  2. Add non-EJSON as option for json utils

    python and other drivers offer to-json utils. This makes taking a native rich shape complete with datetimes and byte[] and such and easily turning into bson (the best way!) or JSON. The utils offer options to modify the output representations of types but always do so in an EJSON way, namely with $date/$numberDecimal etc. Sometimes a consumer cannot (or will not) accept data in this fashion. I'd like to see a "safePureJSON" option (or similar) for bson.json_utils.dumps() that emits the safe string or number equivalent of the EJSON.
    fld: {$date: "ISOdate"} becomes fld: "ISOdate"
    fld: {$numberDecimal: "99.9"} becomes fld: "99.9"…

    1 vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Python  ·  Flag idea as inappropriate…  ·  Admin →
  3. CSFLE - Enable automatic decryption of change streams

    Currently change streams are disabled when a CSFLE MonogClient() session is used.
    This is due to this CSFLE specifications.

    Mongocryptd will not support “collectionless” aggregation metadata sources, which read metadata that doesn’t pertain to a particular collection. The drivers should not contact mongocryptd for such commands, since they don’t have a particular schema to pass to mongocryptd, so it is the drivers’ ultimate responsibility to return an error to the application for the collectionless aggregation metadata sources:

        $currentOp
        $changeStream for watching a database or the whole cluster
        $listSessions
        $listLocalSessions
    

    Enable auto decryption and change streams in the presence of auto-encryption-settings

    1 vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Java  ·  Flag idea as inappropriate…  ·  Admin →
  4. Ignore unmapped fields in pojo deserialization

    A recent ticket (00664772) with the mongodb support team confirm that the following case is not handled by the Java driver:

    class Foo {
    int x;
    int y;
    }

    I can successfully write and read it. However, if the Document has extra fields, it cannot be deserialized and no option exists to allow this behavior:

    { x:123, y:456, z:789 } // why can't I ignore 'z'?

    My suggestion is, provide an annotation to support this behavior:
    @BsonIgnoreUnmappedFields
    class Foo {
    int x;
    int y;
    }

    1 vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Java  ·  Flag idea as inappropriate…  ·  Admin →
  5. Add support for SSH Tunnel

    Similar to the request for SOCKS proxy support, it would be good to add support for SSH tunnels for drivers (since Compass supports this already).

    This can be useful for developers working remotely when company policy disallows whitelisting home IP addresses.

    1 vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Unspecified  ·  Flag idea as inappropriate…  ·  Admin →
  6. Have option to auto add/update timestamp

    It would be great if driver can auto update createdat and updatedat timestamp/date

    1 vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Go  ·  Flag idea as inappropriate…  ·  Admin →
  7. A tool to test the connection that can fix resolution issues in server selection

    This is probably not Node Specific a general problem with connecting via a seed list.

    ServerSelection via seed list is a great concept. It works poorly. I have attached an hour of starting a working webserver app and 30 times starting it in a little over an hour. It failed to connect over 40 % of the time. A larger amount of successful connections were made over 35 seconds which means they would fail in a hosting environment like Heroku. Only 10% of the time did it connect in < 6 seconds. Your support team is avoiding using seed lists…

    1 vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)

    We’ll send you updates on this idea

    0 comments  ·  Node.js  ·  Flag idea as inappropriate…  ·  Admin →
1 3 Next →
  • Don't see your idea?

Feedback and Knowledge Base