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.

How can we improve Azure Cosmos DB?

You've used all your votes and won't be able to post a new idea, but you can still search and comment on existing ideas.

There are two ways to get more votes:

  • When an admin closes an idea you've voted on, you'll get your votes back from that idea.
  • You can remove your votes from an open idea you support.
  • To see ideas you have already voted on, select the "My feedback" filter and select "My open ideas".
(thinking…)

Enter your idea and we'll search to see if someone has already suggested it.

If a similar idea already exists, you can support and comment on it.

If it doesn't exist, you can post your idea so others can support it.

Enter your idea and we'll search to see if someone has already suggested it.

  • Hot ideas
  • Top ideas
  • New ideas
  • My feedback
  1. ORDER BY RAND()

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

    3 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 →
  2. 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 →
  3. 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…

    3 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. [Gremlin] Paging Support

    Please add paging support for Cosmos Graph DB via the Gremlin API. Traversing the whole graph for a large set of vertices can be very expensive. Paging would allow better efficiency when targeting a subset of a large set of vertices.

    1 vote
    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 →
  5. TTL default value needs to be blank for mishandling

    When TTL selected "On", default value in the text box should be blank to prevent from user's mishandling to unintentionally delete data.
    I did it and had deleted data.. So I strongly request this.
    I think little tweak can achieve my request.

    21 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 →
  6. 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…)
    0 comments  ·  SQL API  ·  Flag idea as inappropriate…  ·  Admin →
  7. New CosmosDB sql api built-in function - NewID() based on DocumentId()

    DocumentId() in cosmos sql api is getting unique id from _rid for existing document.
    It will be great if we could get current or next coming value of internal counter which is used for DocumentId().
    There should be internal counter when generating _rid, so I ask for readonly access on this value to predict what will be DocumentID value for next inserted document.
    I want to use this value for doc ID which will be unique and could be determined before actual document insertion.
    I don't want to use GUID as ID because it is large and resulting more RU/s…

    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 →
  8. 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 →
  9. Use a domain ontology (RDF/OWL) as a scheme in Graph DB?

    In Cosmos Graph DB, I would like to be able to import a domain ontology (RDF/OWL) as a scheme to model data.

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

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

    3 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 →
  13. To be upto date version of TinkerPop in Azure Cosmos Graph DB

    Apache TinkerPop Graph released v3.4.2 on 28th May 2019, but it seems that Azure Cosmos DB graph is still supporting the v3.2 which was released a year back from today. Azure Cosmos Graph DB should be upto date to support the latest version of Apache TinkerPop Graph.

    TinkerPop v3.4 supports various features like having support of min and max operations on comparable like string.

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

    Hello and thanks for your request. We support 3.4 from a driver and connectivity perspective but there are a number of features we haven’t implemented such as min and max on non-decimal values.

    These are currently on our backlog to implement so will mark this as unplanned for now which will keep this request open. When this moves off of our backlog we will mark this as planned and update you here.

    Thank you.

  14. 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…

  15. PowerShell module for the management plane

    Hi

    It would be great if there was a supported PowerShell module for the CosmosDB management plane, in the same vein as the other Az modules. The Az PowerShell team have already done the vast majority of the work with their Autorest project so you'd just need to provide them with a Swagger/OpenAPI definition file and they can help you generate the majority of the code for it.

    24 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 →
  16. Support left join

    We have a need for the current JOIN mechanism to allow for LEFT JOIN's.

    So code like this:
    SELECT
    c.myId,
    (IS_DEFINED(dm.code) ? tm.code : dm.code) as code
    FROM c
    JOIN dm in c.modelData
    JOIN tm in c.modelData
    WHERE c.partitionKey="8"
    AND dm.dataScope = "default"
    and tm.dataScope = "other"

    on data like this:
    [
    {
    "myId": "1",
    "partitionKey": "8",
    "values": [
    {
    "dataScope": "default",
    "code": "1"
    },
    {
    "dataScope": "other",
    "code": "1a"
    }
    ],
    "id": "ba884879-9b9b-3ff2-dc08-ca6168892ca5"
    },
    {
    "myId": "2",
    "partitionKey": "8",
    "values": [
    {
    "dataScope": "default",
    "code": "1a"
    },
    {
    "dataScope": "other",
    "code": "2"
    }
    ],
    "id": "864625c2-50de-5d56-9626-26b04d8ff1f2"
    },
    {
    "myId":…

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

    3 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 →
  18. table api sort - Javascript Storage Library

    Table API Sorting: Return query results using Table API in lexicographical order for RowKey as per current functionality in Azure Table Storage using specifically the azure-storage NodeJS/Javascript library (not .NET)

    3 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Table API  ·  Flag idea as inappropriate…  ·  Admin →
  19. 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 →
  20. date difference function in cosmos db

    Right now there was no date diff function supported in cosmos
    It will be great if date related functions are available in cosmos

    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 →
← Previous 1 3 4 5 10 11
  • Don't see your idea?

Azure Cosmos DB

Feedback and Knowledge Base