DocumentDB - Daftar Database

Sejauh ini, kami telah membuat dua database di akun DocumentDB kami, yang pertama dibuat menggunakan portal Azure sedangkan database kedua dibuat menggunakan .Net SDK. Sekarang untuk melihat database ini, Anda dapat menggunakan portal Azure.

Buka akun DocumentDB Anda di portal Azure dan Anda akan melihat dua database sekarang.

Anda juga dapat melihat atau membuat daftar database dari kode Anda menggunakan .Net SDK. Berikut adalah langkah-langkahnya.

Step 1 - Menerbitkan Query database tanpa parameter yang mengembalikan daftar lengkap, tapi Anda juga bisa meneruskan query untuk mencari database tertentu atau database tertentu.

private static void GetDatabases(DocumentClient client) {
   Console.WriteLine();
   Console.WriteLine();
   Console.WriteLine("******** Get Databases List ********");
	
   var databases = client.CreateDatabaseQuery().ToList(); 
	
   foreach (var database in databases) { 
      Console.WriteLine(" Database Id: {0}; Rid: {1}", database.Id, database.ResourceId);
   }
	
   Console.WriteLine(); 
   Console.WriteLine("Total databases: {0}", databases.Count);
}

Anda akan melihat bahwa ada banyak metode CreateQuery ini untuk menemukan koleksi, dokumen, pengguna, dan sumber daya lainnya. Metode ini tidak benar-benar mengeksekusi kueri, mereka hanya mendefinisikan kueri dan mengembalikan objek yang dapat diulang.

Ini adalah panggilan ke ToList () yang benar-benar menjalankan kueri, mengulang hasilnya, dan mengembalikannya dalam daftar.

Step 2 - Panggil metode GetDatabases dari tugas CreateDocumentClient setelah DocumentClient dibuat.

Step 3 - Anda juga perlu memberi komentar pada tugas CreateDatabase atau mengubah id database, jika tidak, Anda akan mendapatkan pesan error bahwa database tersebut ada.

using (var client = new DocumentClient(new Uri(EndpointUrl), AuthorizationKey)) {
   //await CreateDatabase(client); 
   GetDatabases(client); 
}

Berikut adalah file Program.cs selengkapnya sejauh ini.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

using Microsoft.Azure.Documents;
using Microsoft.Azure.Documents.Client;
using Microsoft.Azure.Documents.Linq;
using Newtonsoft.Json; 

namespace DocumentDBDemo {

   class Program {
      private const string EndpointUrl = "https://azuredocdbdemo.documents.azure.com:443/";
		
      private const string AuthorizationKey = "BBhjI0gxdVPdDbS4diTjdloJq7Fp4L5RO/
         StTt6UtEufDM78qM2CtBZWbyVwFPSJIm8AcfDu2O+AfV T+TYUnBQ==";
			
      static void Main(string[] args) {
         try {
            CreateDocumentClient().Wait();
         } catch (Exception e) {
            Exception baseException = e.GetBaseException();
            Console.WriteLine("Error: {0}, Message: {1}", e.Message, baseException.Message);
         }
         Console.ReadKey();
      }
		
      private static async Task CreateDocumentClient() {
         // Create a new instance of the DocumentClient
         using (var client = new DocumentClient(new Uri(EndpointUrl), AuthorizationKey)) {
            await CreateDatabase(client);
            GetDatabases(client);
         } 
      }
		
      private async static Task CreateDatabase(DocumentClient client) {
         Console.WriteLine();
         Console.WriteLine("******** Create Database *******");
			
         var databaseDefinition = new Database { Id = "mynewdb" };
         var result = await client.CreateDatabaseAsync(databaseDefinition);
         var database = result.Resource;
			
         Console.WriteLine(" Database Id: {0}; Rid: {1}", database.Id, database.ResourceId);
         Console.WriteLine("******** Database Created *******");
      }
		
      private static void GetDatabases(DocumentClient client) {
         Console.WriteLine();
         Console.WriteLine();
         Console.WriteLine("******** Get Databases List ********");
			
         var databases = client.CreateDatabaseQuery().ToList();
			
         foreach (var database in databases) {
            Console.WriteLine(" Database Id: {0}; Rid: {1}",
               database.Id, database.ResourceId);
         }  
			
         Console.WriteLine(); 
         Console.WriteLine("Total databases: {0}", databases.Count);
      }
		
   } 
}

Ketika kode di atas dikompilasi dan dijalankan, Anda akan menerima output berikut yang berisi ID Database dan Resource dari kedua database. Pada akhirnya Anda juga akan melihat jumlah total database.

******** Get Databases List ******** 
 Database Id: myfirstdb; Rid: Ic8LAA== 
 Database Id: mynewdb; Rid: ltpJAA==  
Total databases: 2