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.
  • Hot ideas
  • Top ideas
  • New ideas
  • My feedback
  1. cosmos queries with DISTINCT (Java SDK for SQL API)

    Hi,

    We are using "Azure Cosmos DB Java SDK for SQL API – 2.1.0"

    Java SDK doesn’t support DISTINCT, could you please enable the DISTINCT query feature in Java SDK.

    Regards
    Hanumantha

    11 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    4 comments  ·  SDK  ·  Flag idea as inappropriate…  ·  Admin →
  2. 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', …

    11 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  SQL API  ·  Flag idea as inappropriate…  ·  Admin →
  3. 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

    11 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  SQL API  ·  Flag idea as inappropriate…  ·  Admin →
  4. Interactive JavaScript Shell

    It would be great to have a JavaScript shell (either on the Azure site or something we can connect to) to throw code against for testing purposes as well as do single operations.

    11 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Portal  ·  Flag idea as inappropriate…  ·  Admin →
  5. Gremlin console in Azure portal

    Currently the option to do search queries in azure portal with gremlin is very slow. To avoid the setup of a local Gremlin console, it would be an improvement to have a gremlin console integrated into the portal. No need to specify connection string and keys, just ready to use and fast.

    Would same time to each developer and be a frictionless no setup, just ready to use.

    11 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Gremlin API  ·  Flag idea as inappropriate…  ·  Admin →
  6. Gremlin bulk executor for python library

    Will the bulk executor be available for python?
    such as bulk (create / update / delete) vertices and edges

    11 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Gremlin API  ·  Flag idea as inappropriate…  ·  Admin →
  7. Unique indexes on existing collections

    Currently, CosmosDB requires unique indexes to be created before inserting data in an empty collection. MongoRestore creates indexes after importing data, which is incompatible with CosmosDB's flow, and forces the user to create unique indexes manually in order to import data. This is impractical for those who require daily imports on several collections. CosmosDB should be able to import data using MongoRestore's flow, by allowing unique indexes to be created after inserting data.

    10 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  SQL API  ·  Flag idea as inappropriate…  ·  Admin →
  8. ORDER BY RAND()

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

    10 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  SQL API  ·  Flag idea as inappropriate…  ·  Admin →
  9. Make triggers be able to fire from Azure portal

    Triggers in DocumentDB should act like triggers in SQL Server, which means when you update documents from Azure portal, the triggers should be fired as well. Right now, this feature is missing. Triggers only can be fired from application code.

    10 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Portal  ·  Flag idea as inappropriate…  ·  Admin →
  10. More fine-grained permissions

    I'd love to see more fine-grained permissions. In particular, an 'Edit' permission would be extremely helpful. The user with an Edit permission would be able to change any of the data for the resource except the ID, and would not be able to delete the document.

    Use case: Provide users with direct but limited access to the DocumentDB database, rather than having to route all their requests through my own API.

    10 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    3 comments  ·  Security  ·  Flag idea as inappropriate…  ·  Admin →
  11. 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()

    10 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  SQL API  ·  Flag idea as inappropriate…  ·  Admin →
  12. Add support for sack

    Currently GraphAPI has almost no support for doing operations while traversing or listing vertices, like combining vertex properties with weights (edge property) as you traverse. Math is not supported, and often times an alternative would be to use a sack, but that is also not supported. So there is really no workaround.

    10 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Gremlin API  ·  Flag idea as inappropriate…  ·  Admin →
  13. 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.

    10 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    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.

  14. Enable the Cosmos free-tier to be set via az CLI

    Add a support for the free-tier of Cosmos DB to the Azure command-line-interface.

    Currently its not possible to create a new Cosmos account with activated free-tier via the az CLI.

    9 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Management  ·  Flag idea as inappropriate…  ·  Admin →
  15. Different Access Levels for Cosmos DB

    Allow a set of keys for read-write or read-only that are restricted to the Collection level or the DB level. Enable multiple applications to have different levels of permission to a single Cosmos DB.

    9 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Security  ·  Flag idea as inappropriate…  ·  Admin →
  16. C++ SDK

    Please provide an opensource C++ SDK for our CPP friends

    9 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  SDK  ·  Flag idea as inappropriate…  ·  Admin →
  17. Data Explorer: Allow lazy loading collections to avoid perf overhead when tehre are many collections

    Currently all collections are shown in the Data Explorer. This takes quite some time when an account has many collections. An option to lazy load collections would be nice.

    9 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Portal  ·  Flag idea as inappropriate…  ·  Admin →
  18. Add a json data type

    I have json data i dont need to query but would like to be able to persist to a vertex. In my particular case the json is data for a client side quilljs editor. I dont need to be able to query or manipualte it on the server only retrieve it.

    9 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    2 comments  ·  Gremlin API  ·  Flag idea as inappropriate…  ·  Admin →
  19. Index to cover for missing property (NOT is_defined(x))

    Let's assume I need to verify every document in a CosmosDB collection has AnImportantProperty set up (= property exists, may have explicit value null). Most of them do, but for "reasons", some of them may not.

    I can include the new property to indexing policy, so I can easily find which documents are OK with an index-covered query:

    select * from c where is_defined(c.AnImportantProperty)

    But the opposite query (which is what I'm really interested in) does not seem to benefit from the index:

    select * from c where NOT is_defined(c.AnImportantProperty)

    Is there a way to write an index/query to find…

    8 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  SQL API  ·  Flag idea as inappropriate…  ·  Admin →
  20. Gzip query response

    When data is returned from DocumentDb it does not respect the Accept-Encoding header. The DocumentDb SDK actually adds the Accept-Encoding header to the request but DocumentDb ignores it and does not compress the response data. For clients like Mobile (and even API requests) this would be an incredible savings for queries.

    8 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    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