Skip to content

Database

To report bugs, please use our SERVER JIRA project.

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

269 results found

  1. Support split documents on disk

    As an application's functionality grows, if kept unchecked it is easy for average document sizes to grow simultaneously.

    Large documents can have a significant impact on the performance of MongoDB. However, often the application doesn't actually need the entire document to service a request. Likewise, often queries are sent to MongoDB with a projection, excluding substantial (in terms of byte size) parts of the document.

    MongoDB has no ability to optimise these projections (except for covered queries which are not always practical).

    MongoDB should provide the ability to specify a "split" in a document such that the query planner can…

    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  ·  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. Have a role that allows that user to control the schema of a collection

    As a DBA or Data Architect, I want to be able to enforce data governance policies like schema control. Users of MongoDB cannot change the schema however DBA or named individuals have the ability to change the schema.

    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  ·  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. Creation of Custom Views

    SQL based option to create view using multiple collections or databases

    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  ·  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. Low latency Change Stream for Global Cluster in Atlas

    our event-driven applications need to publish events to Kafka triggered by Change Stream feature. It works perfect in replicaset MongoDB cluster.

    However, after migrating to Global Cluster in Atlas, the Change Stream cannot keep low latency because of ordering reason among shards.
    The latency may go up to 20 seconds when for a single change event.

    It would be nice if application can receive Change Stream from the single shard only (not care about ordering among shards) to prevent latency.

    The idea is to pass "location" options when starting the Change Stream cursor.

    3 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

    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  5. updateMany limit

    When porting an application backend from an RDBMS to MongoDB, we've spoken to two people who've are looking for a way to specify a limit on the number of documents in .updateMany(). I understand the behavior cannot be defined on a sharded cluster, but if we had a way to do this on an unsharded collection, that would help when dealing with these teams.

    3 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

    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  6. Database users should be able to change their own passwords

    Currently, there is no way for Database Users to manage their own passwords, (even if they are atlasAdmin@admin). Moreover, as a Project Owner, I cannot create a role that allows them to do so, e.g.:

    use admin
    db.createRole(
       { role: "changeOwnPasswordRole",
         privileges: [
            {
              resource: { db: "", collection: ""},
              actions: [ "changeOwnPassword"]
            }
         ],
         roles: []
       }
    )
    

    As such, changing passwords always requires a Project Owner setting the new password and sharing it with the Database User. This is a problem, because user-password combinations known by more than one person do not serve as proof of identity.

    A…

    27 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

    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  7. Cloning User/Roles along with Database

    When cloning a Database it would be helpful if User/Roles could be cloned directly as well and carried over.

    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

    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  8. Allow configuration of 100mb memory limit per aggregation pipeline stage

    In this old thread from 2016 (https://groups.google.com/forum/#!topic/mongodb-user/LCeFZZRz5EY) it was asked whether there was a way to increase the 100mb in memory limit of each stage of an aggregation pipeline. The responses centered around two points:

    1. If too much memory is used per aggregation pipeline stage then it will reduce performance for the overall MongoDB database, impacting other queries negatively.
    2. You can set allowDiskUse: true and revert to performing these pipeline stages on disk when they exceed 100mb.

    I believe this subject needs to be revisited for the following reasons:

    1. “Too much memory” is very subjective, and the 100mb…
    26 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

    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  9. Option to prohibit a non-voting member from becoming a sync source of a voting member

    Hi,

    Our proposition in a few words: add a replica set option to allow chained replication but with the following exception: a non-voting member cannot become a sync source of a voting member under any circumstance.

    This proposition would allow chained replication for clusters having both w=majority writes and analytics nodes.

    Right now, those clusters cannot safely enable chained replication, because under some circumstances, the non-voting analytics member may become the first secondary in a serial chain of replication. In that case, this node[*] slows down the replication process for all downstream secondaries. Higher replication lag translates to extremely slow…

    3 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

    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  10. Deny Privilege

    Provide the ability to explicitly deny a privilege on a specific resource.

    Example: Grant the privilege to perform the find action on all collections in the test database except "test.secrets".

    4 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

    1 comment  ·  Security  ·  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. 2dindex

    geoIntersect queries on spherical geometries are not adapted to our use case. Our need is to retrieve a list of tiles intersecting a given area of interest (AOI) in a flat 2d geometry.

    Classical geo-spatial databases (PostGIS and Oracle Spatial) support this kind of approach at no extra cost and we would expect the same from MongoDB.

    In MongoDB , using a 2dsphere index forces us to implement a workaround adding an artificial margin to the AOI and making a post-processing to remove false positives. See attached slides for explanations.

    Best Regards

    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  ·  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. Allow kill connections

    Kill session commands only stop current activities on DB, but not closing/dropping connections (connections still remain open in $listSessions).
    It´d be useful to be able to close opened connections in situations where too many sessions have been opened incorrectly or not closed.

    16 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

    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  13. Include schema validation events in changestream payload

    let's say my document has JSON schema validation like:

    {
      $jsonSchema: {
        properties: {
          phone: {
            bsonType: 'string'
          }
        }
      }
    }
    

    and the validation action is set to "warning", if I do a command like: db.test.insert({"phone":1}), I would like the warning message to be included in my change stream.

    3 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

    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  14. Extend db.collection.distinct() to work with multiple fields in a compound key

    Currently the distinct() command finds the unique set of values for a SINGLE specified field across a collection or view. For example:
    db.staff.distinct("last_name" )

    If there is an index on the lastname field, the DISTINCTSCAN plan can use that index and the operation is very fast.

    To find the unique values for a set of more than one fields, the $group aggregation stage has to be used like this:
    db.staff.aggregate([
    {$group: {id: {FName: "$firstname", LName: "$last_name"}} ]);

    This operation does not really need the $group functionality, as it is not calculating a sum/min/max/average/etc value using the…

    4 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

    1 comment  ·  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. Data masking policy

    Implement Data masking similar to Schema Validation in Mongo so that customer can define a server-side data masking policy to mask the results of a query and a new role which will give explicit permission to users for reading unmasked data

    4 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

    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

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

    1 comment  ·  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. Aggregate $accumulator 'Combine' stage for sharded collections

    After the ‘accumulate’ stage has run against each document on a shard it would be extremely useful to run a script on the shard against the state to reduce the state down to something smaller before passing the final state over the network back to mongos for the ‘merge’. (Over in the Elastic camp they call this the ‘combine_script’).

    Scenario:
    I have a customer orders database sharded by the Customer ID (meaning all data relating to any specific customer is kept on the same shard - so customers don’t need to be ‘merged’ between shards). I can write an accumulator…

    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

    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  18. Reduce the minimum value for watchdogPeriodSeconds

    The storage watchdog attempts to create, write, and read a test file in critical directories every 10 seconds.

    The watchdogPeriodSeconds parameter controls how often these a thread checks to ensure at least one check has succeeded since the last check.

    The minimum value for watchdogPeriodSeconds is 60 seconds. This means that in the worst case, the mongod could be unable to write for up to 2 minutes before the watchdog asserts and kills the stalled node. That is a very long time for a primary node to be stalled in a busy cluster.

    It does make sense that watchdogPeriodSeconds must…

    5 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

    How important is this to you?

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
  19. More complex balancer windows for sharded clusters

    Currently we can define a single balancer window which is applied for every day of the week. It would useful to extend this with, for example:

    • multiple windows per day (e.g. 2-4am and 9-11pm)
    • custom windows for days of the week (e.g. Sat 5pm-midnight, Sunday 0-24)
    11 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  ·  Sharding  ·  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. Auditing requirement for the changes done through Ops Manager portal

    Changes done through Ops Manager portal are visible only in Alerts(Activity Feeds). Though these Alerts(Activity Feeds) can be derived through API, our auditors may not accept API calls and we need ops manger to log these change in respective deployment mongo audit.log

    Thank you

    8 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

    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