DocumentDB - Types de données

JSON ou JavaScript Object Notation est un standard ouvert basé sur du texte léger conçu pour l'échange de données lisible par l'homme et également facile à analyser et à générer pour les machines. JSON est au cœur de DocumentDB. Nous transmettons JSON sur le fil, nous stockons JSON en tant que JSON et nous indexons l'arborescence JSON permettant les requêtes sur le document JSON complet.

Le format JSON prend en charge les types de données suivants -

S.No. Type et description
1

Number

Format à virgule flottante double précision en JavaScript

2

String

Unicode entre guillemets doubles avec échappement de barre oblique inverse

3

Boolean

Vrai ou faux

4

Array

Une séquence ordonnée de valeurs

5

Value

Cela peut être une chaîne, un nombre, vrai ou faux, nul, etc.

6

Object

Une collection non ordonnée de paires clé: valeur

sept

Whitespace

Il peut être utilisé entre n'importe quelle paire de jetons

8

Null

Vide

Jetons un coup d'œil à un exemple simple de type DateTime. Ajoutez la date de naissance à la classe client.

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; } 
}

Nous pouvons stocker, récupérer et interroger à l'aide de DateTime comme indiqué dans le code suivant.

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(); 
}

Lorsque le code ci-dessus est compilé et exécuté et que le document est créé, vous verrez que la date de naissance est ajoutée maintenant.

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