Couchbase.Lite
3.2.1
Prefix Reserved
dotnet add package Couchbase.Lite --version 3.2.1
NuGet\Install-Package Couchbase.Lite -Version 3.2.1
<PackageReference Include="Couchbase.Lite" Version="3.2.1" />
paket add Couchbase.Lite --version 3.2.1
#r "nuget: Couchbase.Lite, 3.2.1"
// Install Couchbase.Lite as a Cake Addin #addin nuget:?package=Couchbase.Lite&version=3.2.1 // Install Couchbase.Lite as a Cake Tool #tool nuget:?package=Couchbase.Lite&version=3.2.1
Couchbase Lite .NET
Couchbase Lite is a lightweight embedded NoSQL database that has built-in sync to larger backend structures, such as Couchbase Server.
This is the source repo of Couchbase Lite C#. The main supported platforms are .NET 6 Desktop (Linux will run anywhere, but is most tested on Ubuntu), .NET 8 iOS, .NET 8 Android, .NET 8 Mac Catalyst, .NET 8 WinUI, Xamarin iOS, and Xamarin Android.
Documentation Overview
- Official Documentation
- API References - See the release notes for each release on this repo
Getting Started
The following starter code demonstrates the basic concepts of the library:
using System;
using Couchbase.Lite;
using Couchbase.Lite.Query;
using Couchbase.Lite.Sync;
// Get the database (and create it if it doesn't exist)
var database = new Database("mydb");
var collection = database.GetDefaultCollection();
// Create a new document (i.e. a record) in the database
var id = default(string);
using var createdDoc = new MutableDocument();
createdDoc.SetFloat("version", 2.0f)
.SetString("type", "SDK");
// Save it to the database
collection.Save(createdDoc);
id = createdDoc.Id;
// Update a document
using var doc = collection.GetDocument(id);
using var mutableDoc = doc.ToMutable();
createdDoc.SetString("language", "C#");
collection.Save(createdDoc);
using var docAgain = collection.GetDocument(id);
Console.WriteLine($"Document ID :: {docAgain.Id}");
Console.WriteLine($"Learning {docAgain.GetString("language")}");
// Create a query to fetch documents of type SDK
// i.e. SELECT * FROM database WHERE type = "SDK"
using var query = QueryBuilder.Select(SelectResult.All())
.From(DataSource.Collection(collection))
.Where(Expression.Property("type").EqualTo(Expression.String("SDK")));
// Alternatively, using SQL++, with _ referring to the database
using var sqlppQuery = collection.CreateQuery("SELECT * FROM _ WHERE type = 'SDK'");
// Run the query
var result = query.Execute();
Console.WriteLine($"Number of rows :: {result.AllResults().Count}");
// Create replicator to push and pull changes to and from the cloud
var targetEndpoint = new URLEndpoint(new Uri("ws://localhost:4984/getting-started-db"));
var replConfig = new ReplicatorConfiguration(targetEndpoint);
replConfig.AddCollection(database.GetDefaultCollection());
// Add authentication
replConfig.Authenticator = new BasicAuthenticator("john", "pass");
// Create replicator
var replicator = new Replicator(replConfig);
replicator.AddChangeListener((sender, args) =>
{
if (args.Status.Error != null) {
Console.WriteLine($"Error :: {args.Status.Error}");
}
});
replicator.Start();
// Later, stop and dispose the replicator *before* closing/disposing the database
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-android34.0 is compatible. net8.0-browser was computed. net8.0-ios was computed. net8.0-ios17.2 is compatible. net8.0-maccatalyst was computed. net8.0-maccatalyst17.2 is compatible. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net8.0-windows10.0.19041 is compatible. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 is compatible. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. monoandroid10.0 is compatible. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. xamarinios10 is compatible. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETFramework 4.6.2
- Couchbase.Lite.Support.NetDesktop (= 3.2.1)
- Newtonsoft.Json (>= 13.0.1)
- SerialQueue (>= 2.1.0)
- SimpleInjector (>= 5.2.1 && < 6.0.0)
- System.Collections.Immutable (>= 6.0.0)
-
.NETStandard 2.0
- Newtonsoft.Json (>= 13.0.1)
- SerialQueue (>= 2.1.0)
- SimpleInjector (>= 5.2.1 && < 6.0.0)
- System.Collections.Immutable (>= 6.0.0)
-
MonoAndroid 10.0
- Couchbase.Lite.Support.Android (= 3.2.1)
- Newtonsoft.Json (>= 13.0.1)
- SerialQueue (>= 2.1.0)
- SimpleInjector (>= 5.2.1 && < 6.0.0)
- System.Collections.Immutable (>= 6.0.0)
- Xamarin.Essentials (>= 1.7.4)
-
net6.0
- Couchbase.Lite.Support.NetDesktop (= 3.2.1)
- Newtonsoft.Json (>= 13.0.1)
- SerialQueue (>= 2.1.0)
- SimpleInjector (>= 5.2.1 && < 6.0.0)
-
net8.0-android34.0
- Couchbase.Lite.Support.Android (= 3.2.1)
- Newtonsoft.Json (>= 13.0.1)
- SerialQueue (>= 2.1.0)
- SimpleInjector (>= 5.2.1 && < 6.0.0)
-
net8.0-ios17.2
- Couchbase.Lite.Support.iOS (= 3.2.1)
- Newtonsoft.Json (>= 13.0.1)
- SerialQueue (>= 2.1.0)
- SimpleInjector (>= 5.2.1 && < 6.0.0)
-
net8.0-maccatalyst17.2
- Couchbase.Lite.Support.iOS (= 3.2.1)
- Newtonsoft.Json (>= 13.0.1)
- SerialQueue (>= 2.1.0)
- SimpleInjector (>= 5.2.1 && < 6.0.0)
-
net8.0-windows10.0.19041
- Couchbase.Lite.Support.NetDesktop (= 3.2.1)
- Newtonsoft.Json (>= 13.0.1)
- SerialQueue (>= 2.1.0)
- SimpleInjector (>= 5.2.1 && < 6.0.0)
-
Xamarin.iOS 1.0
- Couchbase.Lite.Support.iOS (= 3.2.1)
- Newtonsoft.Json (>= 13.0.1)
- SerialQueue (>= 2.1.0)
- SimpleInjector (>= 5.2.1 && < 6.0.0)
- System.Collections.Immutable (>= 6.0.0)
NuGet packages (9)
Showing the top 5 NuGet packages that depend on Couchbase.Lite:
Package | Downloads |
---|---|
MvvX.Plugins.CouchBaseLite
This package contains the 'CouchBaseLite' plugin for MvvmCross. |
|
Couchbase.Lite.Listener
Provides Couchbase Lite with a self-hosted REST API. |
|
KidoZen
This package contains the KidoZen SDK assemblies. |
|
NoSqlRepositories.CouchBaseLite
This package is designed for Couchbase lite |
|
Linq2CouchBaseLiteExpression
This package let you create linq queries to querying a couchbase lite database |
GitHub repositories (2)
Showing the top 2 popular GitHub repositories that depend on Couchbase.Lite:
Repository | Stars |
---|---|
stoveproject/Stove
Domain Driven Design oriented application framework, meets CRUD needs
|
|
cmendible/dotnetcore.samples
.NET Core Samples - Code it Yourself...
|
Version | Downloads | Last updated | |
---|---|---|---|
3.2.1 | 426 | 11/13/2024 | |
3.2.0 | 7,165 | 8/30/2024 | |
3.2.0-beta.2 | 175 | 5/16/2024 | |
3.1.10 | 77 | 11/25/2024 | |
3.1.9 | 1,668 | 8/9/2024 | |
3.1.7 | 771 | 5/1/2024 | |
3.1.6 | 7,667 | 3/6/2024 | |
3.1.3 | 26,851 | 11/16/2023 | |
3.1.1 | 5,727 | 7/18/2023 | |
3.1.0 | 2,602 | 4/27/2023 | |
3.0.15 | 597 | 11/6/2023 | |
3.0.12 | 1,015 | 6/26/2023 | |
3.0.8 | 3,604 | 2/8/2023 | |
3.0.2 | 14,850 | 8/2/2022 | |
3.0.0 | 44,135 | 2/22/2022 | |
3.0.0-beta02 | 1,063 | 10/19/2021 | |
3.0.0-beta01 | 976 | 9/21/2021 | |
2.8.6 | 16,765 | 8/3/2021 | |
2.8.4 | 21,976 | 3/2/2021 | |
2.8.2 | 12,344 | 11/20/2020 | |
2.8.0 | 9,172 | 9/30/2020 | |
2.7.1 | 26,042 | 4/17/2020 | |
2.7.0 | 8,012 | 1/16/2020 | |
2.6.4 | 1,548 | 2/11/2020 | |
2.6.0 | 24,344 | 8/27/2019 | |
2.5.3 | 3,018 | 7/31/2019 | |
2.5.2 | 2,699 | 7/3/2019 | |
2.5.0 | 27,936 | 4/30/2019 | |
2.1.5 | 1,691 | 5/23/2019 | |
2.1.2 | 35,846 | 11/16/2018 | |
2.1.1 | 4,706 | 10/5/2018 | |
2.1.0 | 3,064 | 8/30/2018 | |
2.0.3 | 30,121 | 6/5/2018 | |
2.0.2 | 2,038 | 6/1/2018 | |
2.0.0.1 | 3,528 | 4/12/2018 | |
2.0.0 | 4,313 | 4/11/2018 | |
1.4.4 | 6,769 | 10/17/2018 | |
1.4.1 | 40,649 | 11/15/2017 | |
1.4.0 | 11,336 | 3/6/2017 | |
1.3.1 | 8,929 | 9/13/2016 | |
1.3.0 | 15,252 | 8/4/2016 | |
1.2.1.1 | 6,640 | 4/26/2016 | |
1.2.1 | 2,878 | 4/26/2016 | |
1.2.0.3 | 6,327 | 2/9/2016 | |
1.2.0 | 6,694 | 2/4/2016 | |
1.1.2 | 5,804 | 10/2/2015 | |
1.1.1.1 | 4,201 | 8/28/2015 | |
1.1.0.1 | 3,094 | 6/18/2015 | |
1.1.0 | 2,641 | 6/18/2015 | |
1.1.0-pre1 | 1,841 | 5/12/2015 | |
1.1.0-pre | 1,945 | 5/12/2015 | |
1.0.4.1 | 3,510 | 1/20/2015 | |
1.0.0 | 2,916 | 10/9/2014 | |
0.9.7.1 | 3,131 | 10/3/2014 | |
0.9.7 | 2,022 | 10/3/2014 | |
0.9.6 | 2,211 | 10/2/2014 | |
0.9.5 | 2,271 | 9/23/2014 | |
0.9.5-pre9 | 1,855 | 9/22/2014 | |
0.9.5-pre8 | 1,847 | 9/21/2014 | |
0.9.5-pre7 | 1,890 | 9/20/2014 | |
0.9.5-pre6 | 1,835 | 9/20/2014 | |
0.9.5-pre5 | 1,883 | 9/20/2014 | |
0.9.5-pre4 | 1,889 | 9/20/2014 | |
0.9.5-pre3 | 2,549 | 9/19/2014 | |
0.9.5-pre2 | 1,945 | 9/16/2014 | |
0.9.5-pre10 | 1,834 | 9/22/2014 | |
0.9.5-pre | 2,057 | 9/11/2014 |