Azure Cosmos DB

Azure Cosmos DB is a globally distributed database service designed to enable you to elastically and independently scale throughput and storage across any number of geographical regions with comprehensive SLAs. You can develop document, key/value, or graph databases with Cosmos DB using a series of popular APIs and programming models.

Core API:
With the Core API, Azure Cosmos DB provides rich and familiar SQL query capabilities with consistent low latencies over schema-less JSON data. In this article, we provide an overview of the Azure Cosmos DB’s Core API, and how to best use the API.

Graph API:
Azure Cosmos DB provides the Gremlin graph API for graph modeling and traversal, along with turn-key global distribution, elastic scaling of storage and throughput, and low latency.

Apache Cassandra API
Azure Cosmos DB supports the Cassandra API. This means that by using existing drivers, your application written for Apache Cassandra can now communicate with Azure Cosmos DB instead of Apache Cassandra/Datastax Enterprise databases, and gain benefits like global distribution and elastic scale.

MongoDB:
Azure Cosmos DB supports the MongoDB API. This means that by using existing drivers, your application written for MongoDB can now communicate with Cosmos DB instead of MongoDB databases, and gain benefits like global distribution & elastic scale.

Table API:
Azure Cosmos DB provides the Table API for key-value workloads. This provides a premium experience for Azure Table storage with secondary indexes, global distribution, low latency, and dedicated throughput.

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

    12 votes
    Vote
    Sign in
    Check!
    (thinking…)
    Reset
    or sign in with
    • facebook
    • google
      Password icon
      I agree to the terms of service
      Signed in as (Sign out)
      You have left! (?) (thinking…)
      4 comments  ·  MongoDB API  ·  Flag idea as inappropriate…  ·  Admin →
    • Unique indexes on Graph vertex/edge properties

      I need to ensure global uniqueness for things like username/email/mobile number/etc. Since we no longer have traditional SQL, this capability is lacking. Allow me to define unique indexes so the write region has only one occurrence of a distinct value.

      Ideally, this should also make FILTERED unique indexes possible.

      13 votes
      Vote
      Sign in
      Check!
      (thinking…)
      Reset
      or sign in with
      • facebook
      • google
        Password icon
        I agree to the terms of service
        Signed in as (Sign out)
        You have left! (?) (thinking…)
        1 comment  ·  Graph API  ·  Flag idea as inappropriate…  ·  Admin →
      • monaco

        Is it possible to replace the built-in document editor with something like Monaco? Or at least get support for folding?

        3 votes
        Vote
        Sign in
        Check!
        (thinking…)
        Reset
        or sign in with
        • facebook
        • google
          Password icon
          I agree to the terms of service
          Signed in as (Sign out)
          You have left! (?) (thinking…)
          0 comments  ·  Other  ·  Flag idea as inappropriate…  ·  Admin →
        • Allow me to create global read replicas with different partition keys

          There is really no way to come up with a single partition key for my graph database to satisfy all queries. Some queries would benefit from a different partition key, so why not let people create copies of their whole graphs with different partition keys and give them a way to intelligently route queries to the correct server?

          one write region with partition key A
          multiple read regions with partition key A
          multiple read regions with partition key B
          multiple read regions with partition key C
          ...

          In other words, there would still be a single write region but multiple…

          11 votes
          Vote
          Sign in
          Check!
          (thinking…)
          Reset
          or sign in with
          • facebook
          • google
            Password icon
            I agree to the terms of service
            Signed in as (Sign out)
            You have left! (?) (thinking…)
            0 comments  ·  Graph API  ·  Flag idea as inappropriate…  ·  Admin →
          • netstandard 2.0

            Need .NETStandard 2.0 support as soon as possible to host in .Net CORE 2.0 project please.

            4 votes
            Vote
            Sign in
            Check!
            (thinking…)
            Reset
            or sign in with
            • facebook
            • google
              Password icon
              I agree to the terms of service
              Signed in as (Sign out)
              You have left! (?) (thinking…)
              1 comment  ·  Flag idea as inappropriate…  ·  Admin →
            • 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…

              6 votes
              Vote
              Sign in
              Check!
              (thinking…)
              Reset
              or sign in with
              • facebook
              • google
                Password icon
                I agree to the terms of service
                Signed in as (Sign out)
                You have left! (?) (thinking…)
                0 comments  ·  MongoDB API  ·  Flag idea as inappropriate…  ·  Admin →
              • odata library does not table query of Cosmos entities

                When I tried to send a query with datetime to Cosmos the service supports it but the preview library based on Odata does not. Here is the exception.
                System.AggregateException occurred
                HResult=0x80131500
                Message=One or more errors occurred.
                Source=mscorlib
                StackTrace:
                at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions)
                at System.Threading.Tasks.Task`1.GetResultCore(Boolean waitCompletionNotification)
                at System.Threading.Tasks.Task`1.get_Result()
                at OurJourney.Filters.PopulateJournalEntries.OnActionExecuting(ActionExecutingContext context) in C:\tfs\Carita\OurJourney\OurJourney\Filters\PopulateJournalEntries.cs:line 92
                at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
                at Microsoft.AspNetCore.Mvc.Internal.ControllerActionInvoker.<InvokeNextActionFilterAsync>d__10.MoveNext()

                Inner Exception 1:
                ODataException: Unrecognized 'Edm.String' literal 'datetime'2017-10-01T00:11:42.234Z'' at '82' in 'PartitionKey eq 'c624795e-2e0e-4f57-b92c-53473f0e80cb' and StartDateTimeOffset ge datetime'2017-10-01T00:11:42.234Z''.

                3 votes
                Vote
                Sign in
                Check!
                (thinking…)
                Reset
                or sign in with
                • facebook
                • google
                  Password icon
                  I agree to the terms of service
                  Signed in as (Sign out)
                  You have left! (?) (thinking…)
                  0 comments  ·  Table API  ·  Flag idea as inappropriate…  ·  Admin →
                • emulator date time filtering

                  The Cosmos db emulator does not support date time filtering.
                  Example this does not work SELECT * FROM c where c.StartDateTimeOffset > '2017-10-27T00:00:00.0000000Z'

                  3 votes
                  Vote
                  Sign in
                  Check!
                  (thinking…)
                  Reset
                  or sign in with
                  • facebook
                  • google
                    Password icon
                    I agree to the terms of service
                    Signed in as (Sign out)
                    You have left! (?) (thinking…)
                    0 comments  ·  Flag idea as inappropriate…  ·  Admin →
                  • Support for "hasNot" step in Azure Graph API

                    One of our customer needs 'hasNot' step capability in Azure Graph API. Please bring this feature ASAP.

                    8 votes
                    Vote
                    Sign in
                    Check!
                    (thinking…)
                    Reset
                    or sign in with
                    • facebook
                    • google
                      Password icon
                      I agree to the terms of service
                      Signed in as (Sign out)
                      You have left! (?) (thinking…)
                      0 comments  ·  Graph API  ·  Flag idea as inappropriate…  ·  Admin →
                    • JSON data should not convert to string while importing into Document DB

                      When trying to migrate data from SQL to Document DB, the fields in SQL having JSON data when migrated to Document DB converts it into String.

                      Ex: JSON Data in SQL

                      {
                      "$type": "test",
                      "Id": "E2188B0E",
                      "Active": true,
                      "DateActive": "7/1/2017",
                      "Locked": false,
                      "UserId": "test",
                      "FirstName": "test",
                      "LastName": "test",
                      "EmployeeId": 23131,
                      "Title": "KOW",
                      "Contact": {
                      "$type": "yrdy",
                      "StreetAddress1": "test",
                      "StreetAddress2": "test",
                      "City": "test",
                      "State": 51,
                      "ZipCode": 12323,
                      "Country": 1,
                      "HomePhone": "",
                      "AlternatePhone": "",
                      "AltPhoneExtension": "",
                      "CellPhone": 1231321321,
                      "EmailWork": "test@test.com",
                      "EmailPersonal": "test@test.com",
                      "PrimaryContactType": ""
                      }
                      }

                      Imported into Document DB

                      {\"$type\":\"test\",\"Id\":\"E2188B0E\",\"Active\":true,\"DateActive\":\"7/1/2017\",\"Locked\":false,\"UserId\":\"test\",\"FirstName\":\"test\",\"LastName\":\"test\",\"EmployeeId\":23131,\"Title\":\"KOW\",\"Contact\":{\"$type\":\"yrdy\",\"StreetAddress1\":\"test\",\"StreetAddress2\":\"test\",\"City\":\"test\",\"State\":51,\"ZipCode\":12323,\"Country\":1,\"HomePhone\":\"\",\"AlternatePhone\":\"\",\"AltPhoneExtension\":\"\",\"CellPhone\":1231321321,\"EmailWork\":\"test@test.com\",\"EmailPersonal\":\"test@test.com\",\"PrimaryContactType\":\"\"}
                      }

                      4 votes
                      Vote
                      Sign in
                      Check!
                      (thinking…)
                      Reset
                      or sign in with
                      • facebook
                      • google
                        Password icon
                        I agree to the terms of service
                        Signed in as (Sign out)
                        You have left! (?) (thinking…)
                        0 comments  ·  Flag idea as inappropriate…  ·  Admin →
                      • Please support BSON

                        Please Binary JSON (BSON) for the document API.

                        2 votes
                        Vote
                        Sign in
                        Check!
                        (thinking…)
                        Reset
                        or sign in with
                        • facebook
                        • google
                          Password icon
                          I agree to the terms of service
                          Signed in as (Sign out)
                          You have left! (?) (thinking…)
                          0 comments  ·  Core API  ·  Flag idea as inappropriate…  ·  Admin →
                        • Support bulk import of data in to the Mongo API

                          Please support the bulk import of data in to the Mongo API.

                          3 votes
                          Vote
                          Sign in
                          Check!
                          (thinking…)
                          Reset
                          or sign in with
                          • facebook
                          • google
                            Password icon
                            I agree to the terms of service
                            Signed in as (Sign out)
                            You have left! (?) (thinking…)
                            1 comment  ·  MongoDB API  ·  Flag idea as inappropriate…  ·  Admin →
                          • Support $GraphLookup

                            $graphLookup is not implemented in Mongo API
                            If you try to do this with Mongo API (or Cosmos DB) + Gremlin you need to know what the relationships are upfront. Need DYNAMIC joins 
                            which MongoDB supports today.

                            14 votes
                            Vote
                            Sign in
                            Check!
                            (thinking…)
                            Reset
                            or sign in with
                            • facebook
                            • google
                              Password icon
                              I agree to the terms of service
                              Signed in as (Sign out)
                              You have left! (?) (thinking…)
                              0 comments  ·  MongoDB API  ·  Flag idea as inappropriate…  ·  Admin →
                            • Support the LIKE clause / regex expressions in the queries.

                              Support the LIKE clause / regex expressions in the queries.
                              Sample
                              --SQL
                              SELECT *
                              FROM THINGS
                              WHERE serialNumber LIKE '%A0000%'

                              11 votes
                              Vote
                              Sign in
                              Check!
                              (thinking…)
                              Reset
                              or sign in with
                              • facebook
                              • google
                                Password icon
                                I agree to the terms of service
                                Signed in as (Sign out)
                                You have left! (?) (thinking…)
                                1 comment  ·  Core API  ·  Flag idea as inappropriate…  ·  Admin →
                              • 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..

                                1 vote
                                Vote
                                Sign in
                                Check!
                                (thinking…)
                                Reset
                                or sign in with
                                • facebook
                                • google
                                  Password icon
                                  I agree to the terms of service
                                  Signed in as (Sign out)
                                  You have left! (?) (thinking…)
                                  0 comments  ·  Core API  ·  Flag idea as inappropriate…  ·  Admin →
                                • Feature request: Sub-Queries projections

                                  Please support subqueries projection. Today the only workaround/option is to use "nested" pipeline aggregations to 
                                  mimic the behavior of Sub-queries.

                                  --SQL
                                  SELECT id, (SELECT time FROM THINGSNAPSHOTS as ts WHERE ts.id = t.id)
                                  FROM THINGS as t

                                  1 vote
                                  Vote
                                  Sign in
                                  Check!
                                  (thinking…)
                                  Reset
                                  or sign in with
                                  • facebook
                                  • google
                                    Password icon
                                    I agree to the terms of service
                                    Signed in as (Sign out)
                                    You have left! (?) (thinking…)
                                    0 comments  ·  Core API  ·  Flag idea as inappropriate…  ·  Admin →
                                  • odata

                                    Need to allow odata reads for a database modeled for documentdb api.

                                    1 vote
                                    Vote
                                    Sign in
                                    Check!
                                    (thinking…)
                                    Reset
                                    or sign in with
                                    • facebook
                                    • google
                                      Password icon
                                      I agree to the terms of service
                                      Signed in as (Sign out)
                                      You have left! (?) (thinking…)
                                      0 comments  ·  Core API  ·  Flag idea as inappropriate…  ·  Admin →
                                    • Add Automation for Cosmos DB (ARM Template or PowerShell)

                                      Currently the only automation through ARM Template is the Account creation. CLI supports DB + Collection creation. PowerShell create account, update firewall & keys.

                                      It would be useful to have ARM Template & PowerShell support for DB objects such as collection, users, sprocs, functions & triggers. This would allow automation of a ready-to-go Cosmos DB account.

                                      16 votes
                                      Vote
                                      Sign in
                                      Check!
                                      (thinking…)
                                      Reset
                                      or sign in with
                                      • facebook
                                      • google
                                        Password icon
                                        I agree to the terms of service
                                        Signed in as (Sign out)
                                        You have left! (?) (thinking…)
                                        0 comments  ·  Flag idea as inappropriate…  ·  Admin →
                                      • Is there a way to Manage CosmosDB with REST APIs..

                                        By manage I mean not just creation, but the ability to change the values Consistency Level, Throughput, Storage, RUPM etc of an existing provisioned CosmosDB..

                                        1 vote
                                        Vote
                                        Sign in
                                        Check!
                                        (thinking…)
                                        Reset
                                        or sign in with
                                        • facebook
                                        • google
                                          Password icon
                                          I agree to the terms of service
                                          Signed in as (Sign out)
                                          You have left! (?) (thinking…)
                                          0 comments  ·  Flag idea as inappropriate…  ·  Admin →
                                        • 1 vote
                                          Vote
                                          Sign in
                                          Check!
                                          (thinking…)
                                          Reset
                                          or sign in with
                                          • facebook
                                          • google
                                            Password icon
                                            I agree to the terms of service
                                            Signed in as (Sign out)
                                            You have left! (?) (thinking…)
                                            0 comments  ·  Flag idea as inappropriate…  ·  Admin →
                                          ← Previous 1 3 4 5 10 11
                                          • Don't see your idea?

                                          Azure Cosmos DB

                                          Feedback and Knowledge Base