Not long after writing Step by step: Couchbase with .Net Core I discovered Couchbase Lite, which is still in development, but it looks like a great solution for embedded NoSQL scenarios.
So let’s start with this simple: Step by step: Couchbase Lite with .Net Core tutorial.
Create a folder for your new project
Open a command prompt an run
1mkdir couchbase.lite.console
2cd couchbase.lite.console
Create a console project
1dotnet new console
Add a nuget.config
Since Couchbase Lite is still in development you’ll need to add their development nuget server as Nuget source, so create a nuget.config file with the following contents.
1<?xml version="1.0" encoding="utf-8"?>
2<configuration>
3 <packageSources>
4 <add key="Couchbase.Developer" value="http://mobile.nuget.couchbase.com/nuget/Developer/" />
5 </packageSources>
6 <disabledPackageSources />
7</configuration>
Add a reference to the Couchbase Lite nuget package
Run the following command
1dotnet add package couchbase.lite -v 2.0.0-db004
2dotnet restore
Replace the contents of Program.cs
Replace the contents of the Program.cs file with the following code:
1using System;
2using System.Collections.Generic;
3using System.IO;
4using Couchbase.Lite;
5using Couchbase.Lite.Query;
6
7namespace couchbase.lite
8{
9 class Program
10 {
11 static void Main(string[] args)
12 {
13 // Get current directory to store the database.
14 var dir = Directory.GetCurrentDirectory();
15
16 // Delete the database so we can run the sample without issues.
17 DatabaseFactory.DeleteDatabase("db", dir);
18
19 // Create the default options.
20 var options = DatabaseOptions.Default;
21 options.Directory = dir;
22
23 // Create the database
24 var db = DatabaseFactory.Create("db", options);
25
26 // Create a document the Id == "Polar Ice" an set properties.
27 var document = db.GetDocument("Polar Ice");
28 document.Properties = new Dictionary<string, object>
29 {
30 ["name"] = "Polar Ice",
31 ["brewery_id"] = "Polar"
32 };
33
34 // Save the document
35 document.Save();
36
37 // Query for the document abd write results to the console.
38 var query = QueryFactory.Select()
39 .From(DataSourceFactory.Database(db))
40 .Where(ExpressionFactory.Property("brewery_id").EqualTo("Polar"));
41
42 var rows = query.Run();
43 foreach (var row in rows)
44 {
45 Console.WriteLine($"Fetched doc with id :: {row.DocumentID}");
46 }
47 }
48 }
49}
Run the program
Run the program
1dotnet run
The console should show the following message:
1Fetched doc with id :: Polar Ice
Get the code here: https://github.com/cmendible/dotnetcore.samples/tree/main/couchbase.lite.console
Hope it helps!
Comments