Skip to content

Drivers

  • Hot ideas
  • Top ideas
  • New ideas
  • My feedback

65 results found

  1. Improve MongoDB Kotlin driver to match Kmongo or Realm

    Having tested both Realms and KMongo i can say that the MongoDB Kotlin driver is lacking a lot when it comes to idiomatic kotlin.

    First of all, requiring Strings and not accepting KProperty<T> forcing people to type Foo::bar.name is something that should have never made past v1.0
    Second of all, the kotlin driver doesnt solve any of the issues that KMongo had - in fact, its a downgrade from KMongo. Update doesnt accept Kotin objects as a parameter something that is done by Realms.

    In order for MongoDB Kotlin driver to even be considered usable it needs to be better…

    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  ·  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. Make the Go driver interface based so that it can be easily mocked for unitTests.

    Provide interfaces for driver classes that can be used to mock the database for unit tests. Along the lines of what AWS does for its services:
    https://aws.amazon.com/blogs/developer/mocking-out-then-aws-sdk-for-go-for-unit-testing/

    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  ·  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. Asynchronous variant of IIdGenerator

    We have use cases where IDs assigned to documents are generated by an external service. Communication with the external service is asynchronous. We have created custom IIdGenerator implementations for this purpose, and they work, but unfortunately the IIdGenerator interface is synchronous only. This exposes the known problems with "sync over async" code.

    Obviously we could assign the IDs manually and not rely on using an IIdGenerator, but it would be very convenient to have an async variant of the IIdGenerator interface for this use case.

    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#  ·  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. Create a close method on the MongoClient.

    I have run into a situation where threads are not being garbage collected and are causing a serious issue. When we create a database for a specific user, we generate the users’ credentials inside of that database with access only to that database. The problem arises when we need to delete the user and database. The user sometime in the past connected to MongoDB using their credentials which leaves behind an open thread to the MongoDB that is logging into MongoDB once a minute with that users’ credentials. We then come along with our Admin user account and delete the…

    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#  ·  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. 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  ·  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. 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  ·  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. 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  ·  Admin →
    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  8. Add support for directly marshaling arrays and slices to Extended JSON

    The Extended JSON encoder does not support encoding arrays and slices by themselves. The decoder does support decoding JSON arrays into slices. Add support for encoding arrays and slices to a JSON array.

    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  ·  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. 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  ·  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. 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…

    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#  ·  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. 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

    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  ·  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. 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#  ·  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. 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#  ·  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. Support for MongoDB Package in Edge Computing Environments

    The increasing adoption of edge computing and serverless architectures necessitates compatible database solutions. The MongoDB Node.js package currently faces compatibility challenges in edge environments, such as Vercel Edge Functions, due to its reliance on certain Node.js APIs and JavaScript features unsupported in edge runtimes.

    Discussions on platforms like Stack Overflow and GitHub highlight the need for a MongoDB solution tailored for edge computing. Although the MongoDB Data API offers a potential workaround, it lacks the full functionality and efficiency of the native MongoDB driver when used in edge contexts.

    I propose the development of an edge-optimized MongoDB package or library…

    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  ·  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. Add Date support to pymongoarrow

    pymongoarrow already supports datetime but that is not ideal to store partitioned values. I assume we would ideally store dates as BSON Date in MongoDB and then get back a Parquet Date. Y'all already support many data types (https://github.com/mongodb-labs/mongo-arrow/blob/main/bindings/python/docs/source/data_types.rst). It's just that partitioning by date is very useful for us.

    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  ·  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. .NET 6.0 support for Entity Framework driver

    The pre-release version of the EF support in C# driver is only published for .NET 7.0 while the LTS version of .NET is 6.0 and many vendors use (and will use it) for a long time. The roadmap from https://github.com/mongodb/mongo-efcore-provider#limitations–roadmap doesn't mention support for any other .NET versions.

    The support of .NET 6.0 would potentially increase adoption and user base.

    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

    1 comment  ·  C#  ·  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. Move Client Model into a separate Maven artifact

    Currently there's a large client library: mongodb-driver-core. My suggestion is to split it into 2 - moving out the com.mongodb.client.model package into a separate module.

    The reason I need (and hopefully it's not just me) is because I'm trying to work with a software that allows passing a MongoDB JSON query as part of the request. But it then passes it to the actual Mongo instance itself. We don't have to connect to Mongo ourselves. It would be nice to have a library with all the eq() and the rest of the functions that we could use to then serialize…

    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  ·  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. 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  ·  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. Support for FilterDefinition as part of Atlas Search/$search

    Allow the Search Function to accept a FilterDefinition<T> object and/or a SortDefinition object to do the filtering/sorting as part of the Search routine instead of it being in a unique format only to search.

    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#  ·  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. Closing a closed cursor should not throw

    If a cursor is already closed, and close() is called, it should quietly do nothing. Throwing IllegalStateException is just rude.

    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

    1 comment  ·  Java  ·  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?

Drivers

Categories

Feedback and Knowledge Base