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. Enable Cosmos Autoscale Throughput settings from the SDK's

    Currently, Cosmos Autoscale is only available through the portal. We would like programmatic access for this feature so the database will use autoscale when we programmatically create a container and perform the initial data load.

    1 vote
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Flag idea as inappropriate…  ·  Admin →
  2. Alerting on Possible Logical Partition Limit reached

    Alerting the consumer before the one of the logical partition is about to reach its storage limits like when X % is covered etc instead of consumer finding this information in production and having to do work on major incident.

    1 vote
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Monitoring  ·  Flag idea as inappropriate…  ·  Admin →

    Customers can do this today in azure monitor using a combination of log analytics and alerts. Note, this solution will only show the top three largest logical partitions in your container but this should work for you.

    Create a new log analytics workspace in the azure portal.

    Then in the portal go to Monitor, create new diagnostic settings, select the Cosmos DB account to monitor, Add diagnostic settings, check partition key statistics, check send to log analytics, then select the log analytics workspace you created earlier.

    Next to set up the alert go back to Monitoring blade in portal, select Alerts, then select the Log Analytics Workspace you created as the resource then click +New Alert Rule.

    For the Condition select custom log search for Signal Name then enter the following query. (this query example shows if any of the 3 largest partitions are great than 10GB in size.

    AzureDiagnostics…

  3. Change stream starting point

    Please add these options to change streams startAtOperationTime / startAfter / resumeAfter

    The absence of the opportunity to set a change stream beginning point makes it absolutely useless :(

    https://docs.mongodb.com/manual/reference/method/db.collection.watch/#db.collection.watch

    1 vote
    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 →
  4. Fix maxWireVersion

    The official mongo-java-driver updated the way it checks the servers version in v3.10.0. Before v3.10.0 the server version was checked directly. Now the driver just checks for the maximum supported wire version (maxWireVersion).

    But cosmosDB returns the wrong maxWireVersion (return 2, correct would be 4). MongoAPI with an actual server version of 3.2 is now recognized as less than 3.0.

    The java driver now communicates with cosmosdb as if it was a very old server, leading to some strange behavior.
    E.g. when encountering the RUPs limit we previously got a MongoQueryExceptions. Now we just receive empty objects.

    See: https://github.com/mongodb/mongo-java-driver/blob/r3.10.0/driver-core/src/main/com/mongodb/internal/operation/ServerVersionHelper.java
    vs …

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

    Hello and thank you for your suggestion.

    This was fixed in late 2017 when we released 3.4 support. https://azure.microsoft.com/en-us/blog/azure-cosmosdb-extends-support-for-mongodb-aggregation-pipeline-unique-indexes-and-more/

    Customers still running on 3.2 can go to their Cosmos account and click on Preview Features to enable either 3.4 or 3.6 in their accounts.

    Please note that you should test your applications to ensure they function correctly for these changes.

    Thanks.

  5. Reduce the RUs required to purchase 1-year or 3-year reserved capacity

    It seems that the minimum RUs required to purchase a reserved capacity plan is 20K. Please consider reducing it so that small shops can make a long-term commitment.

    3 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  6. Upgrading existing accounts from MongoDB Server Version 3.2 to 3.6

    Currently, the MongoDB 3.6 version is only available to newly created accounts.

    Could be usefull to add the ability to upgrade existing accounts to MongoDB Server Version 3.6.

    54 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    5 comments  ·  MongoDB API  ·  Flag idea as inappropriate…  ·  Admin →
  7. Allow coalescing in ORDER BY queries

    Currently, ORDER BY will filter results if a document does not contain a property matching the expression.

    For example these two queries will give the same results:
    > SELECT * FROM root ORDER BY r.age DESC
    and
    > SELECT * FROM root WHERE IS_DEFINED(c.age) ORDER BY r.age DESC

    It would be nice to be able to provide a default value for the ORDER BY expression so that this filtering does not occur, and instead a document not having the property will still be in the results and be sorted predictably.

    Some examples:
    > SELECT * FROM root ORDER BY c.age…

    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 →

    Hello. Thanks for your input. We in fact support this today but had not documented this.

    Queries with ORDER BY that are run against containers with the default indexing policy will not return documents where the sort property is undefined. This is the behavior you describe.

    If you would like to include documents where the sort property is undefined, you need to explicitly include this property in the indexing policy.

    We have recently documented this new feature here: https://docs.microsoft.com/en-us/azure/cosmos-db/sql-query-order-by.

    Thanks.

  8. Allow consumption of Change Feed as a in-memory push model in SDKv3

    Unlike the older SDK, the SDKv3 doesn't support the InMemory Lease Container yet. But this is very useful e.g. if you just want to use the ChangeFeed to keep your local caches up2date.

    This is also described here: https://github.com/Azure/azure-cosmos-dotnet-v3/issues/972

    3 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 →
  9. Query data through the portal without showing keys

    We want our developers to see information in the cosmosdb when using data explorer in the portal. Unfortunately the roles to provied that option gives also read access to the keys. We don't want that our developers can see the keys.

    From what I can see, the Cosmos DB Account Reader only gives access to the “Read-Only Keys”. Without this access, even with all the other rights, the “Cosmos DB Account Reader” wouldn’t be able to see the information in the Data Explorer pane.

    I tested this by creating a custom RBAC role copy of the Cosmos DB Account Reader…

    3 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 →
  10. Please add feature that can check the time when container created, when auto back up stored, when auto back up will be stored.

    Please add feature that can check the time when container created, when auto back up stored, when auto back up will be stored.

    1 vote
    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 →
  11. Support for MongoDB API 3.4 aggregation operators: $arrayToObject, $objectToArray, $reduce ...

    Roughly when will support for these aggregation operators, and any others missing from MongoDB API 3.4.* , be available? We do small scale, in app, reports using the aggregation pipeline and it is quite a pain to work round not using these.

    Also I note that MongoDB server 3.4 is reaching end of life January 2020, https://www.mongodb.com/support-policy. When is the planned upgrade for 3.6?

    1 vote
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  MongoDB API  ·  Flag idea as inappropriate…  ·  Admin →
  12. Add support for $lookup with an Array

    Starting from MongoDB 3.4, if the localField is an array, it is possible to match the array elements against a scalar foreignField without needing an $unwind stage.

    Currently, a field specified in 'as' does not appear in the result object

    https://docs.mongodb.com/manual/reference/operator/aggregation/lookup/index.html#use-lookup-with-an-array

    3 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  MongoDB API  ·  Flag idea as inappropriate…  ·  Admin →
  13. Make it possible to set "Account level throughput" on a Table API account through ARM template

    As far as I know, the only way to set "Account level throughput" to "On" for a CosmosDB instance with Table API is to do it through the Azure Portal. It should be possible to automate this through an ARM template.

    https://stackoverflow.com/questions/56772236/is-it-possible-to-provision-throughput-on-database-level-through-code-or-arm-tem

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

    This is possible today.

    This arm template creates a Cosmos Table with initial throughput set.
    https://azure.microsoft.com/en-us/resources/templates/101-cosmosdb-table/

    This template updates the throughput for an existing table.
    https://azure.microsoft.com/en-us/resources/templates/101-cosmosdb-table-ru-update/

    We are currently working on allowing customers to redeploy the same template used to provision the account and table resource to update throughput as well. This should be available in October or early November.

    Thanks.

  14. Userinfo for audit RU changes

    There is not currently audit RU changes to determine the userinfo. If an unauthorized user makes a change in CosmosDB RUs, it is impossible to make the audit.

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

    We have not yet documented this but this capability is now available. Customers can now audit changes to throughput changes in Cosmos DB.

    Here are the steps…

    1. Create and deploy an Azure Policy with an audit action on the throughput resource with a scope of the database account.

    2. Validate the service principals who should have access to the Cosmos account have proper RBAC roles.

    WARNING: This next step will prevent anyone with keys from changing throughput or making any change to Cosmos resources. If your applications using our SDK’s update throughput or make any other change to your Cosmos resources this will break. Unfortunately there is no way to provide this functionality without doing this next step.

    3. Next update the Cosmos account and set disableKeyBasedMetadataWriteAccess property to true. Can do this via ARM template or Azure Management Library. AML samples for Cosmos DB are here, https://github.com/Azure-Samples/cosmos-management-net

  15. Add support for ThenBy/ThenByDescending when ordering using LINQ

    I know multi-ordering has been added to the SQL API if constructing the SQL statements manually recently but really this change also needs to be reflected within DocumentDB LINQ querying too, currently attempting to use ThenBy or ThenByDescending throws an unsupported exception

    23 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 →
  16. Add note explaining disabled Mongo-Support

    Version 2.4.3 disabled starting the MongoDB service by default.

    There should be a note next to the mongo connection string when mongo service is not started explaining that new behaviour.

    Otherwise developers used to the old behaviour of the emulator waste time trying to connect with that connection string.

    3 votes
    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 →

    Thanks for catching this. We have this documented in the Emulator Release notes but should include this in the emulator how to article as well.

    We have submitted a PR to update our documentation to include this and it will be reflected soon.

    Thanks again.

  17. MongoDB API - Add support for mongoDB $elemMatch Projection operator

    Please provide support for mongoDB $elemMatch projection operator.

    At the mongoDB shell it would look something like...

    db.MyCollection.find( { name: "SD770" }, { "adapters": {$elemMatch: {adapterName: "SSO2"}}, "_id": 0} ).pretty() ;

    Using java the projection part from the above query would look something like...

    // The projection object.
    Criteria findAdapterCriteria = Criteria.where("adapters")

                .elemMatch(Criteria.where("adapterName").is("SSO2"));
    

    2 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  MongoDB API  ·  Flag idea as inappropriate…  ·  Admin →
  18. Implement ALLOW FILTERING, CREATE INDEX AND CREATE MATERIALIZED VIEW

    We're using INDEX and MATERIALIZED VIEW and ALLOW FILTERING command on Cassandra. Please implement them on Azure cosmos DB

    11 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Cassandra API  ·  Flag idea as inappropriate…  ·  Admin →
  19. ServerError: ALLOW FILTERING queries are not supported yet for the query provided. ServerError: 'MAX' is not supported yet.

    I am stuck at this point because earlier I was using Cassandra then all features are supported now I moved to azure cosmos db and facing these challenges. please provide some alternative.

    1 vote
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  20. 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 →
← Previous 1 3 4 5 15 16
  • Don't see your idea?

Feedback and Knowledge Base