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. Add support for ProjectDefinition and SortDefinition from MongoAPI to query DocumentDB

    I am using following code (MongoDB C# driver) to projects fields , where queryDocument = '{{ "FullName" : /myname/i }}'

    BsonDocument projectionDefination = Builders.Projection.ToBsonDocument();
    projectionDefination.Add(new BsonElement("FullName", "myname"));
    collection.Find(queryDocument).Project(projectionDefination);

    getting following error:

    {"Command failed."}

    {{ "_t" : "OKMongoResponse", "ok" : 0, "code" : 9, "errmsg" : "Syntax error, incorrect syntax near '9'.", "$err" : "Syntax error, incorrect syntax near '9'." }}

    Can anyone update on this?

    I also tried above with RoboMongo

    Command: db.getCollection('Employee').find({ "FullName": /User/i}).projection({ "FullName" : "$FullName" })

    Received following error:

    Error: error: { "_t" : "OKMongoResponse", "ok" : 0, "code" : 9, "errmsg" : "Syntax error, incorrect syntax…

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

    This is fixed, both at root and at nested (a.b), now that subquery support is default.

    Example:

    db.foo.find({"a.b":/.+og/})
    { “_id” : ObjectId(“5bd343a37e3c0329cb99da99”), “a” : { “b” : [ “hog”, “bog”, “mog”, “at”, “at”, “at” ] } }

    Thank you for reporting.

  3. Aggregate queries fail on x64 builds but work ok on x86

    When the VALUE keyword is not specified an exception is thrown unless I explicitly target x86 builds.

    For full details see:

    http://stackoverflow.com/questions/42907875/document-db-exception-occurs-performing-aggregate-queries-on-x64-platform

    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 →
  4. 1 vote
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    completed  ·  0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  5. 1 vote
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Other  ·  Flag idea as inappropriate…  ·  Admin →
  6. Allow TTL to be set by the Azure Cosmos DB Rest API

    Support the Collection Default TTL to be set by the Azure Cosmos DB Rest API

    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 →
  7. provide $ position support in mongodb

    It is very tough to query inner json without $ support

    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 →
  8. Provide built-in string functions

    It would be useful to have functions such as LOWER or SUBSTRING:

    "SELECT * FROM t WHERE LOWER(t.name) = 'joe bloggs'"

    List of functions

    https://msdn.microsoft.com/en-us/library/ms181984.aspx?f=255&MSPPError=-2147217396

    Currently supported functions
    http://azure.microsoft.com/en-us/documentation/articles/documentdb-sql-query/#built-in-functions

    1 vote
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    completed  ·  0 comments  ·  Flag idea as inappropriate…  ·  Admin →
  9. Set database throughput via Azure CLI

    Now that database throughput is available -
    please add an option to set database throughput via Azure CLI.

    1 vote
    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 →
  10. 2D geometry support

    Although some users are excited about using CosmosDB, they are blocked from adopting it if their systems work with 2D geometry, which CosmosDB does not support. CosmosDB should support 2D geometry.

    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 →
  11. String operations like contains and startsWith should be made available immediately using Gremlin.

    String operations like contains and startsWith should be made available immediately using Gremlin.
    It's almost a nightmare to search the data without these basic string comparison functions

    1 vote
    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 →
  12. DocumentDb - Move Run Query button to toolbar

    When I use Query Explorer in a DocumentDB blade, and I scroll down to see the RU's or number of records returned, I then have to scroll back up to find the Run Query button. Run Query is a function that should always be on-screen and clickable. Please move the Run Query button to the toolbar next to the Load File button.

    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 →
  13. Fix sort results when documents are missing sort field

    When documents are missing the sort field, they should still be included in the query results. Cosmos DB with MongoDB API omits these documents, but MongoDB includes them.

    For example, the following query will return people sorted by age, but documents missing the age field do not appear in the results:

    peopleCollection.find().sort({ age: 1 })

    This is probably related to the following Cosmos DB with SQL API issue: https://feedback.azure.com/forums/263030-azure-cosmos-db/suggestions/16842499-order-by-null-handling. Will resolving that issue fix MongoDB sorting as well?

    1 vote
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    2 comments  ·  MongoDB API  ·  Flag idea as inappropriate…  ·  Admin →
  14. Index that across a collection

    I want the index of the document that has been saved in multiple collections.
    Such as the global index.
    It does not matter even if there is a limit to the consistency of this model.

    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 →

    I’m marking this as completed, because this was created when collections were single-partitions. Now Azure Cosmos DB supports collections that can span unlimited amount of data and can be queried with a single SQL query.

    Aravind Krishna R,
    PM, Azure Cosmos DB

  15. Make system builtins such as CONTAINS and ARRAY_CONTAINES aware of indexes

    currently those two request will yield the same results but really different Rus usage.

    The first one can take advantage of the index on ids while the latter can't.

    However the syntax of ARRAY_CONTAINS is way more readable and I don't see any reason a system builtin function could'nt take advantage of indexes.

    SELECT c FROM geodata c JOIN pid IN c.ids WHERE pid = "osm:129939417"

    SELECT c FROM geodata c WHERE ARRAY_CONTAINS(c.ids, "osm:129939417")

    0 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    1 comment  ·  Flag idea as inappropriate…  ·  Admin →
  16. Portal: Scale & Settings does not update

    This happens if you use code to update the throughput of a collection.

    In the Portal, under Data Explorer -> Scale & Settings the value does not change unless you refresh the whole portal (eg press F5).

    Even if you close and re-open the "Scale & Settings" tab the value will not change.

    It would be better if the the "Scale & Settings" tab checked the current throughput value when you open the tab.

    0 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    0 comments  ·  Other  ·  Flag idea as inappropriate…  ·  Admin →
  17. DocumentDB SDK for Node.js should allow agent or maxSockets to be set for outbound requests

    The DocumentDB SDK for Node.js should allow an agent or maxSockets to be set for outbound requests.

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

    This is supported now. We don’t have a proper sample, but you can pass a custom agent to the constructor

    https://github.com/Azure/azure-sdk-for-js/blob/master/sdk/cosmosdb/cosmos/src/CosmosClientOptions.ts#L45

    Here is a rough sample you can use:

    const https = require(“https”);
    const { CosmosClient } = require(“@azure/cosmos”);

    const agent = new https.Agent({
    keepAlive: true,
    maxSockets: 20
    });

    const endpoint = “…”;
    const key = “…”;

    const client = new CosmosClient({
    agent,
    endpoint,
    key
    });

    client.databases
    .readAll()
    .fetchAll()
    .then((response) => {
    console.log(response.resources);
    });

    Thanks.

  18. Virtual Network Rules to Cosmos DB ARM template

    This got released:

    https://azure.microsoft.com/en-us/blog/virtual-network-service-endpoints-for-azure-cosmos-db-is-now-generally-available/

    yet there doesn't seem to be a way to specify these new settings via ARM template.

    az cosmosdb show reveals the settings in this format:
    "virtualNetworkRules": [

    {
    
    "id": "<subnet_id>",
    "resourceGroup": "<rg_name>"
    }

    ],

    but putting this in the ARM template has no effect. This makes it impossible to incorporate the ARM template into the deployment pipeline without causing momentary downtime between template deployment and subsequent az cli command to whitelist subnet. In the interval between, our API can't see Cosmos DB b/c firewall doesn't include the subnet.

    Another customer left a comment here:
    https://docs.microsoft.com/en-us/azure/templates/microsoft.documentdb/databaseaccounts

    concerning…

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

    As pointed out in the comments, “isVirtualNetworkFilterEnabled” needs to be set to true and “id” value in “virtualNetworkRules” collection needs to be the full resource id to a subnet within the virtual network.

    Example:
    “/subscriptions/[mySubId]/resourceGroups/[myRg]/providers/Microsoft.Network/virtualNetworks/[myVNet]/subnets/[mySubnet]”

    Below is an ARM template to provision a Cosmos DB account with Virtual Network, https://docs.microsoft.com/en-us/azure/templates/microsoft.documentdb/databaseaccounts

    We will include a pointer to this in our documentation to make it easier for customers to find.

    Thank you for your suggestion.

1 2 12 13 14 16 Next →
  • Don't see your idea?

Feedback and Knowledge Base