Documentdb 简明教程

DocumentDB - Data Types

JSON 或 JavaScript 对象表示法是一种轻量级的基于文本的开放标准,旨在实现人类可读的数据交换,并且机器也易于解析和生成。JSON 是 DocumentDB 的核心。我们在网络上传输 JSON,我们将 JSON 存储为 JSON,并且我们对 JSON 树进行索引,以便针对完整的 JSON 文档进行查询。

JSON 格式支持以下数据类型 -

S.No.

Type & Description

1

Number JavaScript 中的双精度浮点格式

2

String 带有反斜杠转义的双引号 Unicode

3

Boolean True or false

4

Array 一个有序的值序列

5

Value 它可以是字符串,数字,真或假,null 等。

6

Object 一个无序的键值对集合

7

Whitespace 它可以在任何一对标记之间使用

8

Null Empty

让我们看一个简单的例子 DateTime 类型。为客户类添加出生日期。

public class Customer {
   [JsonProperty(PropertyName = "id")]
   public string Id { get; set; }

   // Must be nullable, unless generating unique values for new customers on client
   [JsonProperty(PropertyName = "name")]
   public string Name { get; set; }

   [JsonProperty(PropertyName = "address")]
   public Address Address { get; set; }

   [JsonProperty(PropertyName = "birthDate")]
   public DateTime BirthDate { get; set; }
}

我们能用 DateTime 存储、检索以及查询,如下代码所示。

private async static Task CreateDocuments(DocumentClient client) {
   Console.WriteLine();
   Console.WriteLine("**** Create Documents ****");
   Console.WriteLine();

   var document3Definition = new Customer {
      Id = "1001",
      Name = "Luke Andrew",

      Address = new Address {
         AddressType = "Main Office",
         AddressLine1 = "123 Main Street",
         Location = new Location {
            City = "Brooklyn",
            StateProvinceName = "New York"
         },
         PostalCode = "11229",
         CountryRegionName = "United States"
      },

      BirthDate = DateTime.Parse(DateTime.Today.ToString()),
   };

   Document document3 = await CreateDocument(client, document3Definition);
   Console.WriteLine("Created document {0} from typed object", document3.Id);
   Console.WriteLine();
}

当上述代码编译并执行时,并且创建了文档后,您将会看到现已添加出生日期。

**** Create Documents ****
Created new document: 1001
{
   "id": "1001",
   "name": "Luke Andrew",
   "address": {
      "addressType": "Main Office",
      "addressLine1": "123 Main Street",
      "location": {
         "city": "Brooklyn",
         "stateProvinceName": "New York"
      },
      "postalCode": "11229",
      "countryRegionName": "United States"
   },
   "birthDate": "2015-12-14T00:00:00",
   "_rid": "Ic8LAMEUVgAKAAAAAAAAAA==",
   "_ts": 1450113676,
   "_self": "dbs/Ic8LAA==/colls/Ic8LAMEUVgA=/docs/Ic8LAMEUVgAKAAAAAAAAAA==/",
   "_etag": "\"00002d00-0000-0000-0000-566efa8c0000\"",
   "_attachments": "attachments/"
}
Created document 1001 from typed object