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. 668 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    29 comments  ·  MongoDB API  ·  Flag idea as inappropriate…  ·  Admin →
  2. Add Change Feed support to MongoDB API

    Presently leveraging Azure Functions via Cosmos Change Feed is not an option if you use the MongoDB API. Any immediate plans to implement this?

    239 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 →
  3. support COUNT of a query on a partitioned collection

    db.collection.count() works just find but when attempting to count a filtered down collection db.collection.find({query...}).count() results in an Operation Failure that says 'query in command must target a single shard key' but need to be able to do counts across multiple partitions

    151 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    29 comments  ·  MongoDB API  ·  Flag idea as inappropriate…  ·  Admin →
  4. ^ (StartsWith) operator doesn't work using $in operator

    In mongo you can use javascript patterns for regex queries using $in operator, sth like: find({categories: {$in: [/^shoes/,/^boots/]}}), but it seems that operator ^ isn't working in cosmsoDB

    126 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 →
  5. Mongo DB API - cursor.sort() does not return sorted result

    When I use find() with sort(), the results are not sorted correctly. The order of the returned items do change, but in a strange order. (MongoDB returns correctly sorted result with the same query). Is this a CosmosDB bug?

    Here are the queries and results. The queries are executed with a Mongo DB shell connected to a Cosmos DB instance. You can see that the header_timestamp order are incorrect.

    > db.datastore.find({}, {id: 1, headertimestamp: 1})

    { "id" : "object-bbfg0pritvunrk0bi170", "headertimestamp" : NumberLong(1) }
    { "id" : "object-bbfg0rjitvunrk0bi180", "headertimestamp" : NumberLong(3) }
    { "id"

    103 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    4 comments  ·  MongoDB API  ·  Flag idea as inappropriate…  ·  Admin →
  6. Resolve the defect with $elemMatch used in conjunction with $OR in MongoDB API

    Currently, MongoDB API incorrectly evaluates '$OR' when used in conjunction with '$elemMatch'. e.g. take 2 records like this:

    / 1 /
    {

    "_id" : ObjectId("5b4f8fc167bd4749b84cebac"),
    
    "name" : "Ron Swanson",
    "gender" : "M"

    }

    / 2 /
    {

    "_id" : ObjectId("5b4f8fea67bd4749b84cebae"),
    
    "name" : "Hunter S. Thompson",
    "gender" : "M",
    "Likes" : [
    {
    "roadtrips" : "yes"
    },
    {
    "applepie" : "yes"
    },
    {
    "politicians" : "no"
    }
    ]

    }

    and run this query:

    db.myCollection.find(

    {
    
    "$or": [
    {"gender":"M"},
    {"Likes": {"$elemMatch": {"applepie": "yes"}}}

    ]

    }

    )

    the cosmosDB with MongoAPI will only return the second one, effectively treating what should be an…

    94 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 →
  7. Compound indexes

    Compound indexes are required for efficiently sorting on multiple fields. See https://docs.mongodb.com/manual/tutorial/sort-results-with-indexes/.

    74 votes
    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 →
  8. CosmosDB, Mongo API, Delete Many with Partition Key configured

    We have an IoT based solution and archive old data to blob storage. Our data is moved to archive using the shard key. Removing the data once archived is a pain and slow as each individual document has to be deleted rather than using DeleteMany(x=>x.shardId == id).

    More info found at:
    https://stackoverflow.com/questions/51301711/cosmosdb-mongo-api-delete-many-with-partition-key-configured

    63 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    10 comments  ·  MongoDB API  ·  Flag idea as inappropriate…  ·  Admin →
  9. 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 →
  10. Add support for $match in aggregation pipeline (not only as first argument)

    $match is currently only supported when it is the first and only stage of the aggregation pipeline. It would be good to use $match at any stage in the aggregation pipeline. For example if you need to unwind the data, it is a lot easier to perform $unwind first and then $match.

    {

    "_t" : "OKMongoResponse",
    
    "ok" : 0,
    "code" : 118,
    "errmsg" : "$match is currently only supported when it is the first and only stage of the aggregation pipeline. Please restructure your query to combine multiple $match stages into a single $match stage.",
    "$err" : "$match is currently
    62 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    3 comments  ·  MongoDB API  ·  Flag idea as inappropriate…  ·  Admin →
  11. 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 →
  12. Aggregation Pipeline

    Need support for MongoDB's aggregation pipeline

    31 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 →
  13. UUID Type 4 CosmosDB Support UUIDStandard

    CosmosDB now supports UUID Type 4. However, only the MongoAPI supports this. The actual database itself does not know if the binary data was presented as type 3 or type 4. The actual data stored is a GUID in binary pattern type 3.

    The problem: You tell the API to store a record using UUIDStandard (type 4). The MongoAPI interprets the type 4 and converts it to a type 3 for actual storage. The MongoAPI allows me to query the data using a type 4 UUID and find the record (again converting the query to a type 3 query under…

    30 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    3 comments  ·  MongoDB API  ·  Flag idea as inappropriate…  ·  Admin →
  14. Increase Query maximum character limit for Cosmo Mongo API

    while executing findby, aggregation functionalities with various data inputs experiencing the below error

    "Message: {"errors":[{"severity":"Error","location":{"start":0,"end":31534},"code":"SC3020","message":"The SQL query text exceeded the maximum limit of 30720 characters."}]}

    Do we have any plans to increase the Query maximum character limit or any plans to overcome the issue?

    29 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 →
  15. Please remove the 40MB limit, when migrate whole Cosmos DB's data.

    When I migrate whole Cosmos Mongo DB's data to external MongoDB, below error is occurred.

    [Error Mesaage]
    Query exceeded the maximum allowed memory usage of 40 MB. Please consider adding more filters to reduce the query response size.

    So, Could you remove the 40MB limit, when migrate whole Cosmos DB's data?

    25 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 →
  16. need support for $addFields

    when are you going to support the $addFields aggregation command that was added in mongo 3.4?

    thanks

    https://docs.mongodb.com/manual/reference/operator/aggregation/addFields/

    thanks

    21 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 →
  17. Joining documents in multiple collections

    I would like to join a document to related documents in another collection (which are not embedded in same collection) in 1 roundtrip.

    For example: Person has an address (and is stored seperately), or more complex to retrieve data for a relationship with three entities in separate linked collection.

    It seems that $lookup is the solution, but it isn't supported yet through RoboMongo or Mongo driver.

    Are there other solutions at this moment?

    20 votes
    Vote
    Sign in
    (thinking…)
    Sign in with: Microsoft
    Signed in as (Sign out)
    You have left! (?) (thinking…)
    3 comments  ·  MongoDB API  ·  Flag idea as inappropriate…  ·  Admin →
  18. 19 votes
    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 →
  19. 19 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 →
  20. Fix bug that destroys nodejs mongodb connection pool every ~10s.

    I have written a small express web app that uses a mongodb back end. As is standard practice, I create a single connection pool when the app starts and reuse it for the duration. This works great against a true mongodb back end. However, when I instead hook my app up to a CosmosDB back end, I get an error after about 10 seconds that says that my connection pool has been destroyed.

    My current workaround is to just create a new connection every 9 seconds...

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

Feedback and Knowledge Base