Drivers

  • Hot ideas
  • Top ideas
  • New ideas
  • My feedback
  1. Better handling of circular reference serialization in Java

    Given 2 generic POJOs that include references to each other such as:

    package com.example;
    
    public class Course {
        Student _student;
    
        public void setStudent(Student student) {
          _student = student;
        }
    
        public Student getStudent() {
          return _student;
        }
    }
    
    package com.example;
    
    public class Student {
        private Course _course;
    
        public void setCourse(Course course) {
          _course = course;
        }
        public Course getCourse() {
          return _course;
        }
    }
    

    It would be useful to have a configuration mechanism to prevent Maximum serialization depth exceeded exceptions from being thrown.

    package com.example;
    
    import com.mongodb.ConnectionString;
    import com.mongodb.MongoClientSettings;
    import com.mongodb.client.MongoClient;
    import com.mongodb.client.MongoClients;
    import com.mongodb.client.MongoCollection;
    import com.mongodb.client.MongoDatabase;
    
    import org.bson.Document;
    import org.bson.codecs.configuration.CodecRegistry;
    2 votes

    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 →

    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  2. Go Driver: Allow Client Side Field Level Encryption (CSFLE) to use IAM Role credentials credentials with KMS access

    In order to get the MongoDB csfle lib to work with AWS KMS, we need to set
    the following provider details (IAM user credentials) explicitly: accessKeyId and secretAccessKey.

    It is common and more secure practice for applications to be able to get temporary credentials using IAM roles which will have accessKeyId, secretAccessKey and sessionToken - https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp_request.html.

    Currently, the Go Driver does not support sending 'sessionToken' along with provider details.

    The libmongocrypt library has this support now - https://github.com/mongodb/libmongocrypt/pull/153.

    It would be great if Go driver has this support.

    2 votes

    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 →

    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  3. Short-lived AWS EKS token

    Native support for short-lived AWS EKS token in MongoDB java driver, with the ability to refresh the key without any application downtime.

    2 votes

    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 →

    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  4. 2 votes

    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 →

    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  5. Support authentication credential rotation

    MongoDB drivers should provide support for rotating authentication credentials:

    • The customer may opt to rotate a specific credential (a password, client keytab, or a re-issued client certificate - when your private key will be the old one or a new one and the certificate will always be updated), or both the username and its credential
    • drivers must support authentication hooks/override methods to handle custom logic. For example: when an external vault processes the password change, it will have a delay before the SCRAM / PLAIN password gets changed in the MongoDB Server / LDAP server. The customer-provided code will take…
    2 votes

    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 →

    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  6. Provide a mechanism for specifying default database name in connection string

    According to https://jira.mongodb.org/browse/GODRIVER-914 the connection string is only meant to specify the auth database. However, many of the official MongoDB drivers and tools also use the database specified in the connection string as the default if commands are run without specifying a database name.

    The Go driver should either mirror this behaviour found in other drivers, or a parameter should be added to the connection string to allow a default database to be explicitly defined.

    2 votes

    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 →

    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  7. Allow Client Side Field Level Encryption (CSFLE) to use EC2 Instance profile credentials with KMS access

    To use CSFLE with AWS KMS, we have to specify the KMS provider key and access key. This makes it less secure b/c we now have to store the credentials that's accessible to the app. Would be great if it could leverage IAM roles for Amazon EC2 to automatically provide credentials to the instance as discussed here:

    https://docs.aws.amazon.com/sdk-for-javascript/v2/developer-guide/loading-node-credentials-iam.html

    2 votes

    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 →

    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)

    Hi all,
    Thank you for raising this feature request. We are currently working on AWS IAM credential support for CSFLE and anticipate release sometime this summer. Please reach out with questions or if you’d like to be part of the beta for the feature.

    Rachelle

  8. It will be helpful to provide Sock Proxy support for our drivers

    Some customers have security policy restriction to directly connect to Atlas. So it will be helpful for them to use sock proxy to connect.

    2 votes

    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 →

    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  9. if drive can deal with DateTime.Date,it will be useful

    we offen have this require,we need to compare DateTime field on Date(exclude time),but if use drive compare with DateTime.Date,drive will throw a exception tell us dont support..

    db.CheckOns.Find(x => x.RecordTime.Date == new DateTime(2020, 3, 19)).ToList();
    //public DateTime RecordTime{get;set}

    2 votes

    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 →

    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  10. use ConventionPack in aggregate same as find

    for example :We want save string value of Enum to database,we set EnumRepresentationConvention Convention.
    then we can use it in match. but in aggregate group,it dosent work:

    public enum Gender { Male,Female}
    public class Person
    {
    public int Age { get; set; }
    public Gender Gender { get; set; }
    }
    [HttpGet("test")]
    public object Test()
    {
    var query=db.database.GetCollection<Person>("persons").Aggregate().Group(x => x.Age,g=>new {
    g.Key,
    MaleCount=g.Sum(x=>x.Gender==Gender.Male?1:0),
    FemaleCount = g.Sum(x => x.Gender == Gender.Female ? 1 : 0),
    });
    var queryString = query.ToString();
    return queryString;
    }
    //queryString will be: aggregate([{ "$group" : { "
    id" : "$age", "MaleCount" : { "$sum" : {…

    2 votes

    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 →

    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  11. Have the drivers tell us the cost of network connectivity within a query

    Have the drivers tell us 1. total query execution time. 2. how much of total query execution time was network connectivity/latency and 3. how much time was the query on the cluster.

    This would then tell the developers the cost of network connectivity because right now there is no easy way to measure network connectivity impact to the overall execution time of the query.

    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 →

    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  12. Make The client model serializable

    I am working on a mongodb connector for the Apache Flink project - https://flink.apache.org/

    Internally, Flink is using java serialization to save the records it is working on in a state which in turn used to recover from failures etc, as well as for passing records between different tasks in the pipeline.
    I have noticed the mongodb client model classes are not Serializable for instance, classes such as WriteModel https://github.com/mongodb/mongo-java-driver/blob/master/driver-core/src/main/com/mongodb/client/model/WriteModel.java and its subclasses or the different Options like ReplaceOptions https://github.com/mongodb/mongo-java-driver/blob/master/driver-core/src/main/com/mongodb/client/model/ReplaceOptions.java

    is there a reason for these classes to not be declared Serializable? Is there a way to contribute to the…

    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 →

    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  13. Multiple collection ACID transactions

    Currently we can update multiple documents with one query if all documents belong to the same collection as shown below;

    dB.collection.bulkWrite([ query1, query2, query3, query4 ])

    This feature is wonderful but it is paramount if mongodb can enable us to use this query or something similar to update multiple documents from different collections with the one query instead of having to send and await each query one at a time as is currently the case.

    The truth is, mongodb only needs to enable this feature of being able to update multiple documents with one query from different collections and then…

    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 →

    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  14. Serve API endpoint for MongoDB Compatibility Matrix

    This is a feature request for website API calls/endpoints to retrieve the MongoDB Compatibility matrix for each driver language. For example, NodeJS is located here in HTML format https://docs.mongodb.com/drivers/node/current/compatibility/

    It would be helpful to have a programmatic endpoint for the same compat table results. This will help log parsers and aggregators to quickly identify applications and clients that are connecting to deployments with untested or incompatible client drivers.

    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 →

    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  15. SnakeCaseElementNameConvention

    Please add support for snake case convention. Snake Case is super popular with API designs.

    https://mongodb.github.io/mongo-csharp-driver/2.13/reference/bson/mapping/conventions/

    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 →

    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  16. 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 →

    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  17. Support "default" keyword in MongoDB's implementation of JSON Schema

    Without defaults, there is a need to iterate though each property just to check if a default value is needed (most probably this can be easily done on type check). Also without defaults we need to remember checking it both in inserts and updates (for example with $push operator)

    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 →

    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  18. Add some casting addon or function based on MongoDB's implementation of JSON Schema

    Without casting addons, there is a need to iterate though each property just to check if this value needs some casting (most probably this can be easily done on type check). I´m having special troubles with Date type, as most of the time this type is send as an ISO string, but saved in the DB as a 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  ·  Node.js  ·  Flag idea as inappropriate…  ·  Admin →

    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  19. Provide a direct download for current versions of driver files/dependencies on the official MongoDB sites

    Note: This post was inspired by my attempts to find a direct download for the MongoDB Java driver, but I've left the category as "Unspecified" because it could apply to any driver download for which the official sites say to "Just use Maven/etc"

    Right now the documentation for the MongoDB Java driver (https://mongodb.github.io/mongo-java-driver/4.2/driver/getting-started/installation/) indicates that "The recommended way to get started using one of the drivers in your project is with a dependency management system." However, as far as I could tell from my own research, the official MongoDB sites have no official direct download link for the…

    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 →

    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  20. Nearest read preference should take account of database load

    I understand it only take account of network latency however this node can have high load and would give a poor response. Instead, I wished the driver would contact the more distant network latency node that has less CPU/memory load.

    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 →

    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  • Don't see your idea?

Feedback and Knowledge Base