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.

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

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. [DocumentDB] Allow Paging (skip/take)

    Allowing paging would be huge. Btw, Thank You for rolling out this feature at all! It looks wonderful! Can't wait to try it! However, I won't be able to use it for actual work projects until it supports paging and sorting.

    3,800 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    126 comments  ·  Flag idea as inappropriate…  ·  Admin →

    Reopening this user voice item as our support for Skip/Take (Offset/Limit) was only limited to single partition queries.

    Update.

    The newly released .NET SDK v3 now includes support for x-partition queries using Offset/Limit. You can learn more about v3 SDK and try it and provide feedback on our github repo here.
    github.com/azure/azure-cosmos-dotnet-v3

    We will also be back-porting this functionality to our .NET v2 SDK. This work will begin shortly and we anticipate it to be released in September.

    Once that is released we will mark this feature as complete.

    Thank you for your patience and votes.

  2. Cosmos DB BulkExecutor for .NET Core

    I would like Azure Cosmos DB BulkExecutor library for .NET Core compatible version.

    Recent application often uses Microsoft.Azure.DocumentDB.Core package, so the need for the .NET Core version is high.

    368 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    7 comments  ·  SDK  ·  Flag idea as inappropriate…  ·  Admin →
  3. MongoDB API : aggregation operation is too slow

    the aggregation operation is too slow ...

    63 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    9 comments  ·  MongoDB API  ·  Flag idea as inappropriate…  ·  Admin →

    We are currently working on this feature and have made it available in Preview in the Azure Portal.

    Please feel free to test Aggregation Pipeline support for your MongoDB API accounts in Cosmos DB by opening your MongoDB API account, then clicking on “Preview” tab on left hand side and then Enable for Aggregation Pipeline.

    While there please feel free to test support for MongoDB 3.4 support as well as Per-Document TTL support.

    Thank you for your request and votes.

  4. Support stored procedure execution over all partitions

    So I'm in a bit of a corner performance wise. Querying data from a broad and not necessarily well defined range of devices - some update once a day, some every 10 seconds. Need to query over the longer time span to make sure all devices are represented but only need the latest record. So might need a 100 or so results at the end but due to the lack of a GROUP BY function in Cosmos SQL, the output can be more like 100,000 which then have to be filtered out client side. No worries, just use a stored…

    46 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    5 comments  ·  SQL API  ·  Flag idea as inappropriate…  ·  Admin →
  5. Support TTL indexes on any field

    Please add support for TTL indexes on any field, not just the internal and inaccessible `_ts` field. We need document specific TTLs.

    https://docs.mongodb.com/manual/tutorial/expire-data/

    24 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  MongoDB API  ·  Flag idea as inappropriate…  ·  Admin →

    Per document TTL is now available in Preview for customers to try.

    To enable and test this feature access your MongoDB API account for Cosmos DB in the Azure Portal, click Preview tab on left hand side, then click Enable to test Per-document TTL.

    You will can also enable and try Aggregation Pipeline and MongoDB 3.4 support from here as well.

    Please try TTL and all these features and please feel free to give us feedback.

    Thank you for your suggestion and your votes.

  6. Make debugging expirience easier and exception messages valuable

    Now error message for queries frequently useless
    "{"code":500,"body":"{\"message\":\"An error occurred while sending the request.\"}"}"

    And I have no ideas what exception happened and what I did wrong.

    Please- add more valuable error messages

    21 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 →
  7. Faster resource deletion

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

    10 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    3 comments  ·  Management  ·  Flag idea as inappropriate…  ·  Admin →
  8. Be able to use the OFFSET LIMIT clause with cross-partition queries

    In order to scale our collections, we need to define a partition key, and with scaling comes pagination, so the new OFFSET LIMIT clause becomes appealing, but right now the SDK doesn't support cross-partition queries with this new clause.

    In my case, I cannot use the Continuation Token because I need to be able to come back to previous pages, and the CT is forward-only.

    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. Add more options for GraphSONMode

    Currently I am using the GraphSONMode.Normal to get adjcency information of a 'vertex' but then I only use the outgoing edge information and ignore the incomming edge information.

    From optimization point of view we should add more options to have more fine-grained control on the output format of the gremlin query.

    I would like to suggect that we add 'IncludeOutE' option for GraphSONMode to return GraphSON format including only Outgoing edge information and 'IncludeInE' option to return GraphSON format including only Incomming edge information.

    7 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 →
  10. Support recursive calling of stored procedures

    Please support recursively calling the stored procedures and support stored procedure continuation, error handling and make it easy to deploy to all partitions..

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

    There are multple requests here. While we do not support stored procedures to call other stored procedures, we do support allowing a stored procedure to call a UDF today. Can you provide more information and scenarios for the other requests for continuation, error handling, etc?

    Thank you.

  11. allow javascript api client side

    allow javascript type queries in the client as per https://docs.microsoft.com/en-us/azure/cosmos-db/javascript-query-api

    It would be great to be able to do this from a JS client.
    I'm using sql sdk currently

    4 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 →
  12. Support for Atomic Updates in SQL API

    I would need in a stored procedure or via SQL client API to perform the same thing you can do in SQL Server or MongoDB:

    SQL Server:
    UPDATE Accounts SET Balance = Balance + @Amount WHERE ...

    MongoDB
    db.accounts.findOneAndUpdate(
    { "id" : "XXXX" },
    { $inc: { "balance" : 5 } }
    )

    Stored procedure support is required because I would like to atomically update the balances of several accounts (credit - debit, or credit - debit,debit etc) in a transaction, provided all accounts are in the same partition.

    See https://social.msdn.microsoft.com/Forums/en-US/b0a1d77d-85b4-4a62-9489-82bbff0bebe5/single-partition-stored-procedure-for-transactionalatomic-accounting-operation?forum=azurecosmosdb for more info.

    It seems that the MongoDB client…

    3 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 →
  13. Option in UI to change localhost (127.0.0.1) binding in Cosmos Emulator

    Currently the only way to allow network access is through the command line with the /AllowNetworkAccess flag.

    Adding the ability to control this from the UI would be really useful, since localhost binding is the default.

    1 vote
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Emulator  ·  Flag idea as inappropriate…  ·  Admin →
  14. please add function can see execution status of query

    please add function can see execution status of query

    1 vote
    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 →
  15. AutoSuggest RUs when executing heavy queries

    As we know Cosmos DB pricing is based on RUs, most of the time as a developer I tend to execute "Select * from something". This results in more RUs and if most of the developers execute the same thing which is going to result in heavy cost.

    My suggestion is to disable "Select *" for developers(magic way) or enable AutoSuggestion like Intellicode when someone is going to execute a query which will result in more RUs.

    1 vote
    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.

    I am not quite clear on what you are suggesting.

    During development, it is normal for developers to write queries that may be costly as they work to understand the data access patterns for their apps.

    Cosmos provides query metrics and diagnostic logs that records the cost of queries so developers can understand if their partitioning and model are efficient. This data can and should be used early on in the development cycle such that if need be, the model and partitioning scheme can be modified to ensure most queries can be answered with in-partition queries to ensure the best efficiency when moving from a development phase to production.

    There is no automated or magical way of knowing what the cost of query will be before it is executed, either through the portal or via the SDK. It is also not possible to disable…

  • Don't see your idea?

Feedback and Knowledge Base