📜  DocumentDB-数据类型(1)

📅  最后修改于: 2023-12-03 15:00:31.396000             🧑  作者: Mango

DocumentDB 数据类型

Azure DocumentDB 是一种灵活的 NoSQL 数据库服务,支持多种数据模型和操作。本文将为程序员介绍 DocumentDB 支持的数据类型及其用法。

基本数据类型

DocumentDB 支持标准的 JSON 数据类型,包括:

  • 字符串:使用双引号包围的 Unicode 字符序列,例如 "hello"。
  • 数字:整数或浮点数,例如 42 或 3.14。
  • 布尔值:true 或 false。
  • null:表示空值。
  • 数组:包含零个或多个值的有序集合,例如 [1, 2, 3]。
  • 对象:包含零个或多个键值对的无序集合,例如 {"name": "Alice", "age": 30}。

您可以在 DocumentDB 中使用这些基本数据类型来组织和存储数据。例如:

{
    "id": "d6df19c1-ccc4-4b36-8284-4cdf44ad197b",
    "name": "Alice",
    "age": 30,
    "isMarried": true,
    "hobbies": ["reading", "painting"],
    "address": {"street": "123 Main St", "city": "Seattle", "state": "WA"}
}
扩展数据类型

为了支持更复杂的数据模型,DocumentDB 还提供了以下扩展数据类型:

日期时间

可以使用字符串表示日期时间,格式遵循 ISO 8601 标准,例如 "2021-01-01T12:00:00Z" 表示 UTC 时间的 2021 年 1 月 1 日 12:00:00。另外,您还可以使用 Date 类型来表示日期时间。例如:

{
    "id": "d6df19c1-ccc4-4b36-8284-4cdf44ad197b",
    "name": "Bob",
    "birthday": "1990-01-01T00:00:00Z",
    "hireDate": {"$date": "2010-01-01T00:00:00Z"}
}
二进制数据

可以使用 Base64 编码的字符串来表示二进制数据。例如:

{
    "id": "d6df19c1-ccc4-4b36-8284-4cdf44ad197b",
    "name": "Charlie",
    "picture": {"$binary": "iVBORw0KGgoAAAANSUhEUgAAABkAAAAZCAYAAADE6YVjAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEwAACxMBAJqcGAAAArZJREFUWIXtlrsxQ2Ecx/EvnzBixSiWCEiCYSMh8Em/b0zjKrgN0rkkzNFlZaWlRWjowv+CRlRk/2QVFrWU6OQvV7XU6NV1m6clJ82f089CCO5O5mq5m5ka8zyy745xvca+tleFOYo9dzaAaI8twYZoOZQJjE/sAJs1HWvgAakynT4gA14mvF9HJQhm8G+ZFMnLZab/D4nY3BjqMHakgTnc/Yx0H/QS9bXB2QZgOdFBb0N/gi4C0sYsNlwcbL0zbuOlxOQLcXzGdMAmZMCOI+2mWWmucA67wG1KjyWkj6vC7lUzOK6U1/r+fZ1amBvD7Md+m5di5Us5YMNoWg0xKx7r9X3qgzTaYNcENZjKv1hwugRfYFATPskW8Vv2F6ciO7RaUzPH6Zm8VvDm+SE5fV35UXue5OUy8fKx0nr9r/BBKhGq3Hsw37hd0CjNmsN+aV23QDM67/aT8piKLplLzpuR9+aPQDzPfZosze+bMn4nSayAhIsIVrbY1ZW+iVuHxGx9Xz53PPBbyI8eNbZvAdoBGgE+hRW1GEVIwB+sM8UFMxMpX9Oig98f/st+Zskwt8BvOchOgMuBRXT/fUEbTtTpgzVsHFMF9av0g967nvEfyZlLkXLJ0PPDuTCpKsYmpwowdaV+DvFyrG1BzCNO3J+KcAorvcfrTwRdajhQAAAAASUVORK5CYII="}
}
路径

可以使用点号将 JSON 对象的属性嵌套起来,例如 "address.city"。这样可以在查询时方便地访问嵌套的属性。

SQL 查询

DocumentDB 支持 SQL 查询语言,可以使用 SELECT、FROM、WHERE、ORDER BY 等关键字来查询数据。示例:

SELECT * FROM c WHERE c.name = "Alice"
总结

本文介绍了 DocumentDB 支持的基本数据类型和扩展数据类型,可以用来组织和存储各种类型的数据。使用 SQL 查询语言,可以轻松地查询和过滤数据。