Update: Microsoft will be moving away from UserVoice sites on a product-by-product basis throughout the 2021 calendar year. We will leverage 1st party solutions for customer feedback. Learn more here.

Azure Cosmos DB

Have feedback for Azure Cosmos DB product? Submit your idea here or upvote other ideas. All feedback is monitored and reviewed by the Azure Cosmos DB team. 

This site is for feature suggestions only. For technical questions or issues, please submit them to StackOverflow,where we and the community can better help you.

Please use the following categories when submitting your idea.

SQL API: Query language features, syntax using SQL API, indexing, any other core features in Azure Cosmos DB.

Gremlin API: Graph features and capabilities using Gremlin API.

Cassandra API: Features and capabilities using Cassandra API.

MongoDB API: Features and capabilities using MongoDB API.

Table API: Features and capabilities using Table API.

Etcd API: Features related to using etcd as a configuration store for Kubernetes.

Azure Synapse Link: Features related to Azure Cosmos DBanalytical store and Azure Synapse Analytics run-time support

Built-in Notebooks: Features related to built-in Notebooks in Azure Cosmos DB.

SDK: Features related to Azure Cosmos DB SDKs for SQL API.

Change Feed: Features related to Change Feed.

Management: All management features, backup/restore,monitoring, ARM, PowerShell and CLI.

Portal: All features for Azure Portal and Cosmos DB Explorer.

Emulator: Features related to the Azure Cosmos Emulator.

Other: Features not related to any other category.

Security:
Authentication, authorization,permissions and encryption features.

Monitoring:
Metrics, monitoring, alerts,and diagnostics features.

Server-side: Stored procedures, Triggers,and User-Defined Functions.

Managed Apache Cassandra: Featuresand capabilities related to Azure Managed Instance for Apache Cassandra.
  • Hot ideas
  • Top ideas
  • New ideas
  • My feedback
  1. Support ORDER BY on the ST_DISTANCE spatial function

    Ordering results by the ST_DISTANCE spatial function is currently not supported.

    500 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    20 comments  ·  SQL API  ·  Flag idea as inappropriate…  ·  Admin →
  2. Support filters (queries) on the Change Feed

    For some advanced scenarios and for performance reasons, support filters (queries) on the Change Feed

    309 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    9 comments  ·  Change Feed  ·  Flag idea as inappropriate…  ·  Admin →
  3. Improve scaling down experience: remove redundant physical partitions

    During initial import we increased RU to 200K. Cosmos Db SQL API created 20 physical partitions with 10K throughput each.
    During regular day we just need 30K Ru. That would mean each physical partition would have only 1,5K RU allocated and a lot of redundant partitions with possible expensive cross-partition calls (total data size is less than 30GB)

    Is there way to decrease amount of physical partitions to reasonable value?
    In a nutshell it is not fair pricing, when you are limited to 1,5K RU and a lot of cross-partition calls you have to pay extra

    273 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    11 comments  ·  Management  ·  Flag idea as inappropriate…  ·  Admin →
  4. Execute a procedure when TTL expires

    I would like to execute a procedure when TTL expires. For example, when TTL expires I would like to also delete some related records from Azure table storage.

    213 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    12 comments  ·  Change Feed  ·  Flag idea as inappropriate…  ·  Admin →
  5. Gremlin queries from stored procedures

    It would be nice to have the ability to execute Gremlin queries against the Graph API from a stored procedure. Ideally, this would also enable transactions.

    178 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    7 comments  ·  Gremlin API  ·  Flag idea as inappropriate…  ·  Admin →
  6. Add DateTimeOffset support

    The DocumentDb engine should be able to recognize and properly order DateTimeOffset serialized fields.

    170 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    8 comments  ·  SQL API  ·  Flag idea as inappropriate…  ·  Admin →
  7. Support for document validation, using JSON Schema

    Similar to MongoDB v3.6 https://docs.mongodb.com/manual/reference/operator/query/jsonSchema/ Would be useful for both MongoDB API and DocumentDB API

    103 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    8 comments  ·  MongoDB API  ·  Flag idea as inappropriate…  ·  Admin →
  8. Pin the Graphs from the Metrics Page to Azure Portal Dashboards

    I would love to be able to pin the graphs on the Metrics tab of the Azure Portal blade for Cosmos DB to my Azure Dashboard. Many other services allow this and it's great to get an overview of health, status and usage. Also great for Ops dashboards, sharing, etc.

    Right now the work around is to manually point the diagnostic logs to an OMS workspace and recreate the query in Log Analytics, and then pin it. It kinda sucks and your graphs are way better.

    93 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    3 comments  ·  Portal  ·  Flag idea as inappropriate…  ·  Admin →
  9. Compress query results

    Compress query results if requested by the client. This could significantly improve network throughput for large queries.

    67 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  SQL API  ·  Flag idea as inappropriate…  ·  Admin →
  10. Support left join

    We have a need for the current JOIN mechanism to allow for LEFT JOIN's.

    So code like this:
    SELECT
    c.myId,
    (IS_DEFINED(dm.code) ? tm.code : dm.code) as code
    FROM c
    JOIN dm in c.modelData
    JOIN tm in c.modelData
    WHERE c.partitionKey="8"
    AND dm.dataScope = "default"
    and tm.dataScope = "other"

    on data like this:
    [

    {
    
    "myId": "1",
    "partitionKey": "8",
    "values": [
    {
    "dataScope": "default",
    "code": "1"
    },
    {
    "dataScope": "other",
    "code": "1a"
    }
    ],
    "id": "ba884879-9b9b-3ff2-dc08-ca6168892ca5"
    },
    {
    "myId": "2",
    "partitionKey": "8",
    "values": [
    {
    "dataScope": "default",
    "code": "1a"
    },
    {
    "dataScope": "other",
    "code": "2"
    }
    ],
    "id": "864625c2-50de-5d56-9626-26b04d8ff1f2"
    },
    {
    "myId":
    34 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    3 comments  ·  SQL API  ·  Flag idea as inappropriate…  ·  Admin →
  11. Calculator for Mongo, Graph/Gremlin,Cassandra and Table

    Need calculator for Mongo, Graph/Gremlin,Cassandra and Table. Currently users face difficulties to estimate costs. They need to input data and query by themselves otherwise consumed RU cannot be known.

    Please consider implementing calculator for Mongo, Graph/Gremlin,Cassandra and Table.

    32 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Other  ·  Flag idea as inappropriate…  ·  Admin →
  12. Bulk Import Needs a Python Library for the SQL API

    Just like for .Net and Java, Cosmos needs a bulk import library for Python

    27 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    2 comments  ·  SDK  ·  Flag idea as inappropriate…  ·  Admin →
  13. Add HAVING clause

    Now that group by is supported, if you add having clause functionality, it would be helpful.

    24 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  SQL API  ·  Flag idea as inappropriate…  ·  Admin →
  14. Make serverless a true alternative to provisioned throughput

    According to your documentation, serverless is intended for small workloads and containers have a 50 GB storage limit. However, most of us would benefit from a true serverless system in mission-critical apps that only charges for the actual throughput usage. Please make serverless a first-class alternative.

    21 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Other  ·  Flag idea as inappropriate…  ·  Admin →
  15. Please add function that can sort array property in document with using like "ORDER BY".

    Please add function that can sort array property in document with using like "ORDER BY".

    For example,
    1.Let's assume we use this query to specify document
    ( SELECT c.Contents FROM c WHERE c.id = 'id1')
     
    2.And the document is below.
    ▼Document▼
    {
        'type': 'Test',
        'id': 'id1',
        'Contents': [
            {
                'contentId': 'C1',
                'created': '2018-11-21T00:00:00+09:00',
                'content': 'content1'
            },
            {
                 'contentId': 'C3',
                'created': '2018-11-21T17:00:00+09:00',
                'content': 'content3'
            },
            {
                 'contentId': 'C2',
                'created': '2018-11-21T09:00:00+09:00',
                'content': 'content2'
            }
        ]
    }
     
    3.We want to do is below.
    (Sorting array(Messages) by 'created' time)
     
    ▼Result We want▼
    [
        {
            'Contents': [
                {
                    'contentId': 'C1',
                    'created': '2018-11-21T00:00:00+09:00', …

    21 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  SQL API  ·  Flag idea as inappropriate…  ·  Admin →
  16. Faster resource deletion

    CosmosDB resources take a very long time to delete. Make this faster please!

    19 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    3 comments  ·  Management  ·  Flag idea as inappropriate…  ·  Admin →

    We have reviewed this and have added to to our committed work items for this semester.

    One thing to point out however is that resource deletion for Cosmos will never be super fast. The reason is that we need to ensure that all connections and caches are drained before we delete the resource. This can some minutes for this to happen.

    We will update here when we release this work.

    Thank you.

  17. Document how to make & use Icon Sets in the Graph Data Explorer

    You have a Gremlin Graph Intro video that includes use an icon set (the video shows an icon set for Marvel characters) - but there is very little info on how you can create this icon set - i.e. the video shows a vertice that represents the icon set, but it isn't clear what properties on the vertice do what - and also what encoding is used for the icon picture content.

    18 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Gremlin API  ·  Flag idea as inappropriate…  ·  Admin →
  18. We need to view the last backup date & time and a flag to indicate if it has been backed up successfully.

    We need to view the last backup date & time and a flag to indicate if it has been backed up successfully. This is for resource governance and data availability purposes. Management needs to view governance dashboards and verify backups are successfully completing as described in the documentation.

    15 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Management  ·  Flag idea as inappropriate…  ·  Admin →
  19. bulk executor for nodejs

    Will the bulk executor be available for nodejs? Bulk operations are available in all the competitors databases... (datastore, mongo, firestore, etc.)

    15 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    2 comments  ·  SDK  ·  Flag idea as inappropriate…  ·  Admin →
  20. Align the handling of Unique Sparse Indexes with MongoDB

    Currently, the Azure Cosmos DB Mongo API does not support sparse unique keys (https://docs.microsoft.com/en-us/azure/cosmos-db/unique-keys#define-a-unique-key). This is at odds with the current implementation of MongoDB which does support Sparse indexes with a unique constraint (https://docs.mongodb.com/manual/core/index-sparse/).

    Meteor, a popular framework using MongoDB, use sparse indexes with unique keys in its fundamental user management (https://github.com/meteor/meteor/blob/c5b51b0fc2a8cef498b9390ebcb4925e02de83e8/packages/accounts-base/accounts_server.js#L1562).

    The current implementation of MongoDB allows you to create documents (such as a user document) without a field that has a unique sparse index (such as username). This is not possible with the Azure Cosmos DB Mongo API, forcing you to populate…

    15 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    3 comments  ·  MongoDB API  ·  Flag idea as inappropriate…  ·  Admin →
← Previous 1
  • Don't see your idea?

Feedback and Knowledge Base