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. 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 →
  2. Built-in OAuth support

    Support OAuth to make it easy for mobile clients to securely talk directly to DocumentDB without a middle tier or a separate resource token broker.

    209 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  ·  Security  ·  Flag idea as inappropriate…  ·  Admin →
  3. Move RU throughput allocation from Collections to Database Level and viceversa

    We have multiple databases with many collections and would like to move the throughput allocation from single collections to Database level without recreating it and migrating everything.

    184 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  ·  Other  ·  Flag idea as inappropriate…  ·  Admin →
  4. 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 →
  5. Increase resource token validity limit (or) Provide authentication

    There is a user in a database. I would like to give the user, permission to the whole database resource for the lifetime or few months. So i would create a permission for the user for the database resource and use the resource token in this scenario. But my resource token expires in 5 hrs. So it would be helpful if token validity is increased .

    This feature may end up similar to authentication in other relational databases where the resource token may act as the username and password. The best approach can be decided either to have authentication (or)…

    172 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  ·  Security  ·  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 OrderBy and OrderByDescending in Nested Arrays

    For example in a document structure such as:

    {
    "id": "some id",
    "things": [

    { "value": "5" },
    
    { "value": "2" },
    { "value: "7" }

    ]
    }

    It would be great to be able to do something like:

    queryable.Select(x => x.Things.OrderByDescending(y => y.Value)).AsEnumerable.FirstOrDefault();

    162 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    6 comments  ·  SQL API  ·  Flag idea as inappropriate…  ·  Admin →
  8. EventGrid publisher for CosmosDB

    Instead of, or in addition to, the existing ChangeFeed please publish changes to Event Grid.

    This shud be mngt ops like DB create, collection create etc.
    AND changes to documents, including deletes.

    153 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    14 comments  ·  Other  ·  Flag idea as inappropriate…  ·  Admin →
  9. Support for W3C SPARQL as a query language

    SPARQL is a mature W3C standard for querying and updating graph-like data with well defined semantics and rich query capabilities.

    http://en.m.wikipedia.org/wiki/SPARQL

    147 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    5 comments  ·  Gremlin API  ·  Flag idea as inappropriate…  ·  Admin →
  10. Add support for "Search text" ($text Operator)

    Support for "Mongo Search Text" (https://docs.mongodb.com/manual/text-search/). Example of use:

    db.stores.find( { $text: { $search: "java coffee shop" } } )

    135 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  ·  MongoDB API  ·  Flag idea as inappropriate…  ·  Admin →
  11. add DocumentDB to the "azure stack"

    Azure Stack is a great Microsoft vision to allow running Azure applications on premise...
    but DocumentDB support is mandatory (unless Microsoft want to push MongoDB version 3)

    133 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    6 comments  ·  Other  ·  Flag idea as inappropriate…  ·  Admin →
  12. Compress stored data

    Please compress data in place for more efficient use of storage.

    For example, I recently exported the entire dataset from a collection and gathered the following stats:

    DocumentDB Data Storage: 627 MiB (including hidden fields and other overhead I assume, but not Indexes)
    Exported JSON: 461.72 MiB
    Compressed JSON: 47MiB

    So potentially a 10x saving in data storage size.

    130 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 →
  13. CosmosDB Cassandra API should support lightweight transactions in CQL

    Currently, lightweight transactions are not supported by the CosmosDB Cassandra API, but should be.

    125 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    5 comments  ·  Cassandra API  ·  Flag idea as inappropriate…  ·  Admin →
  14. Use Order By with Group By

    In the documentation for group by (https://docs.microsoft.com/en-us/azure/cosmos-db/sql-query-group-by) you state:

    You currently cannot use GROUP BY with an ORDER BY clause but this is planned.

    Adding here so we can hopefully get some feedback on its progress and to communicate its importance to the community.

    In all my use cases for using group by, I am only interested in returning a subset of the results which without order by I cannot. I must return all results and then order & filter them in the client which is poor from a performance and cost perspective or completely unfeasible depending on…

    112 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  ·  SQL API  ·  Flag idea as inappropriate…  ·  Admin →
  15. Delete notifications for change feed

    Delete notifications for Cosmosdb change feed.

    Problem:
    When deleting an item in Cosmosdb it is not conveyed to the change feed.

    Proposed solution:
    Implement a delete notification in the same manner as for upserts.
    If the deleted item could be conveyed it is good but the id is better than nothing.

    If it helps I wrote a tad more here: https://www.selfelected.com/cosmosdb-change-feed-and-deleted-items/

    111 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    14 comments  ·  Change Feed  ·  Flag idea as inappropriate…  ·  Admin →
  16. 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 →
  17. Data masking feature in Azure Cosmosdb

    Request you to please add data masking feature to Azure CosmodDB to protect sensitive data like always encryption feature in SQL Server which allows clients to encrypt sensitive data inside client applications and never reveal the encryption keys to the Database Engine ( SQL Database or SQL Server). As a result, Always Encrypted provides a separation between those who own the data (and can view it) and those who manage the data (but should have no access)

    Ref : https://docs.microsoft.com/en-us/sql/relational-databases/security/encryption/always-encrypted-database-engine?view=sql-server-2017

    102 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  ·  Security  ·  Flag idea as inappropriate…  ·  Admin →
  18. DISTINCT should use index if possible

    Currently one can query distinct values from documents using the DISTINCT keyword like in relational SQL.

    Example:

    SELECT distinct c.myField FROM c
    

    Related feature request: https://feedback.azure.com/forums/263030-azure-cosmos-db/suggestions/6719531-provide-support-for-distinct

    Unfortunately current DISTINCT is rather unusable as it seems to do a full scan even if there is an index present on the field. This feature does save some bandwidth when you really-really-really need this feature, but the RU consumption part is borderline-unacceptable for production use.

    Please consider improving the implementation to avoid full scan and use index, if possible.

    100 votes
    Vote

    We're glad you're here

    Please sign in to leave feedback

    Signed in as (Sign out)
    You have left! (?) (thinking…)
    4 comments  ·  SQL API  ·  Flag idea as inappropriate…  ·  Admin →
  19. First Class Support for Create/Update Differentiation w/i ChangeFeed

    Add a mechanism to determine the type of change feed event being processed. Actions (e.g. Create/Update/Delete) should be accessible via the FeedResponse<T> (for the .net SDK) for each document.

    In addition, CreateDocumentChangeFeedQuery should allow for filtering by these new action types (w/i the DB). Perhaps other [document-level] criteria should be supported too.

    97 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  ·  Change Feed  ·  Flag idea as inappropriate…  ·  Admin →

    Update: The ETA for this has not been set. This is actively being worked on but cannot provide ETA.

    Our apologies again. We are looking forward to shipping this feature.

    Thanks.

    Quick update. Apologies for the long time on this. We are looking to ship this in Spring 2020.

    Thanks.

  20. Microsoft join and support GQL

    I think it would be a great benefit for Cosmos DB to support the new movement to get to a single Graph Query Language. Microsoft joining this movement might help in rapid evolution and acceptance of such a language.

    Taken from https://neo4j.com/blog/time-for-single-property-graph-query-language/:

    The time has come to create a single, unified property graph query language.

    Different languages for different products help no one. We’ve heard from the graph community that a common query language would be powerful: more developers with transferable expertise; portable queries; solutions that leverage multiple graph options; and less vendor lock-in.

    One language, one skill set.

    96 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  ·  Gremlin API  ·  Flag idea as inappropriate…  ·  Admin →
  • Don't see your idea?

Feedback and Knowledge Base