Couchbase Liteはモバイル端末向けの組み込みのJSONドキュメントデータベースです。エンジンはSQLiteです。Couchbase Mobileというモバイルソリューションでは、リモートのCouchbase ServerとJSONドキュメントを同期をすることができます。もちろん単体でSQLiteの代わりにJSONをローカルに保存する組み込みデータベースとしても使えます。Building your first Couchbase Lite .NET appのチュートリアルを写経していきます。
using System.Collections.Generic; ... // Create a document var properties = new Dictionary <string,object> () { {"message","Hello Couchbase Lite"}, {"created_at",DateTime.UtcNow.ToString("o")}, };
var document = database.CreateDocument (); var revision = document.PutProperties (properties); var docId = document.Id; Console.WriteLine ("Document created with ID = {0}", docId);
Debug実行、アプリケーション出力にメッセージが出力されました。
Document created with ID = a6532552-c78b-4b31-b8e1-e127581493d6
message : Hello Couchbase Lite created_at : 1/14/20158:51:04 AM _id : 8c702e41-d8bb-4861-b819-bf0547ee546c _rev : 1-5ce83ca798342e9b21ef80ae825ef7fe
JSONドキュメントのUPDATEをします。
... // Update a document var updatedProperties = new Dictionary<string,object> (retrievedDocument.Properties); updatedProperties ["message"] = "We're having a heat wave!"; updatedProperties ["temperature"] = 95.0;
var updatedRevision = retrievedDocument.PutProperties (updatedProperties); System.Diagnostics.Debug.Assert(updatedRevision != null);
// Set our view from the "main" layout resource SetContentView (Resource.Layout.Main);
// Get our button from the layout resource, // and attach an event to it Button button = FindViewById<Button> (Resource.Id.myButton); button.Click += delegate { button.Text = string.Format ("{0} clicks!", count++); };
// Create a shared manager var manager = Manager.SharedInstance; Console.WriteLine ("Manager created");
// Create database var dbName = "hello"; var database = manager.GetDatabase (dbName); Console.WriteLine ("Database created");
// Create a document var properties = new Dictionary <string,object> () { {"message","Hello Couchbase Lite"}, {"created_at",DateTime.UtcNow.ToString("o")}, };
var document = database.CreateDocument (); var revision = document.PutProperties (properties); var docId = document.Id; Console.WriteLine ("Document created with ID = {0}", docId);
var retrievedDocument = database.GetDocument (docId); Console.WriteLine ("Retrieved document: ");
// Update a document var updatedProperties = new Dictionary<string,object> (retrievedDocument.Properties); updatedProperties ["message"] = "We're having a heat wave!"; updatedProperties ["temperature"] = 95.0;
var updatedRevision = retrievedDocument.PutProperties (updatedProperties); System.Diagnostics.Debug.Assert(updatedRevision != null);