Star 8K+,使用.NET开发的开源NoSQL数据库

LiteDB 是一个轻量级、快速、易用的 .NET NoSQL 嵌入式数据库,完全用 C# 托管代码开发,并且是免费和开源的。它非常适合在移动应用(Xamarin iOS/Android)和小型的桌面/Web 应用中使用。

主要特点

  • 简单易用的 API,类似于 MongoDB
  • 100% C# 代码,支持 .NET 4.5 / NETStandard 1.3/2.0,其核心代码只有不到 450KB
  • 线程安全
  • 写入失败后的数据恢复(WAL 日志文件)
  • 使用 DES(AES)加密技术进行数据文件加密
  • 可使用属性或流畅的映射器 API 将 POCO 类映射到 BsonDocument
  • 支持存储文件和流式数据(类似于 MongoDB 中的 GridFS)
  • 单个数据文件存储(类似于 SQLite)
  • 支持索引文档字段以实现快速搜索
  • 支持 LINQ 查询
  • 提供类似 SQL 的命令来访问和转换数据
  • 开源免费,可用于商业用途
    LiteDB 还提供一个用于访问和管理数据的客户端LiteDBStudio,其功能简单强大,链接在文末。

使用方法

1、 安装LiteDB

可以通过 NuGet 包管理器安装 LiteDB

bash 复制代码
dotnet add package LiteDB --version 5.0.17
//或
NuGet\Install-Package LiteDB -Version 5.0.17

2、 创建数据库

csharp 复制代码
using LiteDB;

var db = new LiteDatabase("mydb.db");

3、新建Person

csharp 复制代码
public class Person
{
    public int Id { get; set; }
    public string Name { get; set; }
    public int Age { get; set; }
}

4、插入数据

csharp 复制代码
var col = db.GetCollection<Person>("people");

var person = new Person
{
    Name = "John Doe",
    Age = 30
};

col.Insert(person);

5、查询数据

csharp 复制代码
var results = col.Find(x => x.Age > 20);

foreach (var person in results)
{
    Console.WriteLine(person.Name);
}

6、更新数据

csharp 复制代码
var person = col.FindById(1);

person.Name = "Jane Doe";

col.Update(person);

7、删除数据

csharp 复制代码
col.Delete(1);

适用场景

LiteDB 非常适合以下场景:

  • 桌面/本地化的小应用程序
  • 应用程序文件格式(Application file format)
  • 小型 web 应用程序
  • 一个账户/用户一个数据库的数据存储
  • 少量并发写操作

官网推荐的一些第三方工具链接

源码链接:

LiteDB:https://github.com/mbdavid/LiteDB

LiteDBStudio:https://github.com/mbdavid/LiteDB.Studio

相关推荐
vipjx222 分钟前
如何利用IDM与第三方工具实现网盘高速下载?2026最新网盘提速方案
开源
冬奇Lab29 分钟前
开源项目第181期:Open Code Review — 阿里巴巴内部锤炼的 AI 代码审查工具,token 消耗仅为通用 Agent 的 1/9
人工智能·开源·资讯
半亩码田3 小时前
【.NET新特性·第10篇】.NET 10 概览:LTS 版本的全面进化
大数据·.net
TunerT_TQ4 小时前
Valhalla 静态工程审阅 #028|Kimi K3 源码证据驱动评测【开源基础设施特辑】
开源·#企业智能体·#pilotdeck·#agent操作系统·#kimik3·#月之暗面
大模型念念13 小时前
RAGFlow:开源可检索增强生成框架深度解析
开源
凌云拓界16 小时前
NodeVerdict | .ndv 二进制格式:为 WASM 解码器设计的紧凑布局
安全·架构·开源·node.js·编辑器·软件工程·wasm
冬奇Lab16 小时前
开源项目第180期:Omnigent — Databricks 出品的 AI Agent 元编排层,让 Claude Code、Codex、Cursor 统一管控
人工智能·开源·agent
TunerT_TQ17 小时前
Valhalla 静态工程审阅 #026|elizaOS 源码证据驱动评测【开源基础设施特辑】
开源·#agent工程化·#企业智能体·#多智能体系统·#typescript·#开源供应链安全
opensnn17 小时前
当闭源AI遇上开源反击:未来竞争的核心不是模型,而是生态
人工智能·开源
zlinear数据采集卡18 小时前
ZLinear DABM-D223 通信协议与软件开发全解析:从 USB CDC 到 DDS 波形输出
arm开发·嵌入式硬件·fpga开发·开源