DocumentDB - ประเภทข้อมูล

JSON หรือ JavaScript Object Notation เป็นมาตรฐานเปิดแบบข้อความที่มีน้ำหนักเบาซึ่งออกแบบมาสำหรับการแลกเปลี่ยนข้อมูลที่มนุษย์อ่านได้และยังง่ายสำหรับเครื่องในการแยกวิเคราะห์และสร้าง JSON เป็นหัวใจสำคัญของ DocumentDB เราส่ง JSON ผ่านสายไฟเราจัดเก็บ JSON เป็น JSON และเราจัดทำดัชนีโครงสร้าง JSON เพื่อให้สามารถค้นหาในเอกสาร JSON แบบเต็มได้

รูปแบบ JSON รองรับประเภทข้อมูลต่อไปนี้ -

ส. ประเภทและคำอธิบาย
1

Number

รูปแบบทศนิยมที่มีความแม่นยำสองเท่าใน JavaScript

2

String

Unicode ที่ยกมาสองครั้งพร้อมแบ็กสแลช Escape

3

Boolean

จริงหรือเท็จ

4

Array

ลำดับของค่า

5

Value

อาจเป็นสตริงตัวเลขจริงหรือเท็จโมฆะเป็นต้น

6

Object

คอลเลกชันที่ไม่เรียงลำดับของคู่คีย์: ค่า

7

Whitespace

สามารถใช้ระหว่างโทเค็นคู่ใดก็ได้

8

Null

ว่างเปล่า

ลองมาดูตัวอย่างประเภท 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