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. delete All data in a container

    To be able to delete, all the data in a container through azure UI.
    -> Keep all the settings, just drop all the data.
    this is useful during development when we have to delete and recreate a container and then recreate all SP, UDF, etc manually, and recreate all the indexes. It saves a lot of development time and reduces errors as cosmos is a case sensitive database.

    20 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 →

    Thank you for your suggestion. At this time this is not on our road map.

    Currently customers tend to include the definition of their databases, containers, stored procedures and UDF’s either within their main applications themselves (CreateIfNotExists) or as standalone applications. Then include in their deployment pipelines using custom tasks so they can accurately recreate their environments, rather than creating resources by hand in the portal or elsewhere. This also allows them to be managed as artifacts in their source code repositories so they can be accurately recreated.

    We are currently investigating building support for deploying stored procedures and UDF’s via ARM templates which may work for you to quickly and easily re-provision your environments. But we have not concluded our initial look on this at this so do not have an ETA for that at this time.

    Thank you.

  2. Allow us to define global unique keys across all partitions

    Unique keys are scoped to partitions, but this makes it challenging to store data that's supposed to be globally unique like email address or mobile number. I ended up creating a traditional SQL Server table for this, but I'd like to migrate it to Cosmos DB.

    19 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 →
  3. Improve "OFFSET LIMIT" RU.

    "OFFSET LIMIT" improves client performance for pagination.
    But it doesn't reduce RU.
    It's also important to improve back-end performance.

    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  ·  SQL API  ·  Flag idea as inappropriate…  ·  Admin →
  4. Support TTL that is fixed (not relative to last modified timestamp)

    The TTL function is great, but it would be very useful to have a method of ejecting a document at an exact time after it was created NOT modified.

    With the GDPR act coming into play very soon, having a datastore that has the potential to eject customer data at a specific time is very desirable because it prevents us having to roll our own deletion mechanisms.

    Please allow the the option of the TTL to be a fixed point in time and not be updated every time the document is modified.

    Thanks

    14 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 →
  5. ORDER BY RAND()

    Implement ORDER BY RAND() to allow for a random data sampling. Currently you can only ORDER BY a specific document path

    13 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 →
  6. Cross-partition group by support

    Group By should support cross-partition queries.

    13 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 →
  7. Support for a random item return in Cosmos DB

    It would be nice to have the ability to get a random set of items from a container in the same way you can with SQL. It would also be nice to have a seed ID for the purpose of being able to pull the same random set again in the future.

    Simple example of current functionality:

    SELECT TOP 10 *
    FROM [table]
    ORDER BY newid()

    11 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 →
  8. Efficient case-insensitive search

    At the moment, STRINGEQUALS with the case-insensitive flag requires a linear index scan over the property, so it is cardinality dependent, resulting in extremely high RU charges in large collections. Please implement a (perhaps optional) index that supports cardinality independent case-insensitive STRINGEQUALS. At the moment, the ugly workaround is to manually store duplicates of the property values in lower case. See also https://stackoverflow.com/questions/66024029/high-ru-charge-with-case-insensitive-search/66249495#66249495

    9 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 →
  9. Built-in functions for bitwise operations

    Since Cosmos DB doesn't support bitwise operations on 64-bit numbers (due to lack of support of it in JS), it would be great to have built-in functions like AND, OR, XOR.

    Bitwise operations are widely used e.g. in the calculation of Hamming Distance, one of the most used distance metrics in Machine Learning.

    See https://stackoverflow.com/questions/64416618/how-to-calculate-hemming-distance-in-cosmosdb/

    6 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 →
  10. Support LINQ Intersect

    I need the ability to see if a document property (which is a list) contains any list element in the query. Without this functionality, I find CosmosDB to be very limited.

    6 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 →
  11. Built-in functions for calculating distance metrics

    It would be great to have built-in functions for calculating distance metrics like Euclidean Distance and Hamming Distance.

    These metrics are widely used e.g. in ML-flavored applications and it would be very useful to have optimized built-in functions.

    See https://stackoverflow.com/questions/64416618/how-to-calculate-hemming-distance-in-cosmosdb/

    6 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 →
  12. Allow STRING_SPLIT or .split() functionality in SQL search

    Including STRING_SPLIT or .split() functionality when using SQL queries to search a collection to allow for whole word searching within phrases as opposed to "contains" where partial words return true.

    EG string = "white paper"
    search = "wh" returns false
    search1 = white" returns true
    search2 = "white " returns false
    search3 = "pap" returns false
    search4 = "paper" returns true

    similar to var splice = string.split(' '), splice.includes("white")

    6 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 →
  13. Support ST_Buffer Spatial Function

    This is a great function I use frequently in SQL Server. It lets you to generate an area around a point. It makes Radius Searches much easier and flexible. I like to see this in Cosmos DB to make radius searches better.

    5 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 →
  14. Add geospatial aggregate functions like ConvexHullAggregate

    Looking for a way to compute the bounding box of some features based on a query. For example SQL has https://docs.microsoft.com/en-us/sql/t-sql/spatial-geography/convexhullaggregate-geography-data-type?view=sql-server-2017

    Of course I can download all the documents and compute this, but I think it would be more efficient to let Cosmos DB perform the calculation on the server.

    4 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 →
  15. Cosmos DB SQL API should support ORDER BYon computed fields.

    Cosmos DB SQL API should support ORDER BYon computed fields.

    3 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. STDEV

    Please implement the standard deviation aggregate function.

    3 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 →
  17. Support key name search

    We would like to search key name base on value. For example, we would like to search based on key name such as "data1".

    Query example

    select c.? from c where c.? = "data1"

    {
    { "data1" : {

      id : 001,
    
    name : sample

    },
    { "data2" : {

      id : 002,
    
    name : sample2,

    }
    }

    3 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 →
  18. Allow order by scalar subquery

    Currently, I have a scalar subquery that joins to a select statement fetching some results from a container. But when I try to order by one of the columns in this scalar subquery, it doesn't let me.

    3 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 →
  19. Use index for NOT ARRAY_CONTAINS

    When you do queries with ARRAY_CONTAINS, it uses the index.

    But if you want to do an excluding query with NOT ARRAY_CONTAINS it does not and the query becomes very expensive.

    3 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 →
  20. Transaction across multiple containers by SDKs.

    Currently, Cosmos DB doesn't have transactions across multiple containers.
    It's very useful to do atomic writing or updating documents.
    And, I'm using the Node.js SDK, so I'd be happy if I could do it with it.

    2 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 →
  • Don't see your idea?

Feedback and Knowledge Base