Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

LiteDB - A .NET NoSQL Document Store in a single data file

License

NotificationsYou must be signed in to change notification settings

litedb-org/LiteDB

Repository files navigation

NuGet VersionNuGet Downloads

NuGet VersionBuild status

LiteDB is a small, fast and lightweight .NET NoSQL embedded database.

  • Serverless NoSQL Document Store
  • Simple API, similar to MongoDB
  • 100% C# code for .NET 4.5 / NETStandard 1.3/2.0 in a single DLL (less than 450kb)
  • Thread-safe
  • ACID with full transaction support
  • Data recovery after write failure (WAL log file)
  • Datafile encryption using DES (AES) cryptography
  • Map your POCO classes toBsonDocument using attributes or fluent mapper API
  • Store files and stream data (like GridFS in MongoDB)
  • Single data file storage (like SQLite)
  • Index document fields for fast search
  • LINQ support for queries
  • SQL-Like commands to access/transform data
  • LiteDB Studio - Nice UI for data access
  • Open source and free for everyone - including commercial use
  • Install from NuGet:Install-Package LiteDB

New v5

  • New storage engine
  • No locks forread operations (multiple readers)
  • Write locks per collection (multiple writers)
  • Internal/System collections
  • NewSQL-Like Syntax
  • New query engine (support projection, sort, filter, query)
  • Partial document load (root level)
  • and much, much more!

Lite.Studio

New UI to manage and visualize your database:

LiteDB.Studio

Documentation

Visitthe Wiki for full documentation. For simplified chinese version,check here.

LiteDB Community

Help LiteDB grow its user community by answering thissimple survey

How to use LiteDB

A quick example for storing and searching documents:

// Create your POCO classpublicclassCustomer{publicintId{get;set;}publicstringName{get;set;}publicintAge{get;set;}publicstring[]Phones{get;set;}publicboolIsActive{get;set;}}// Open database (or create if doesn't exist)using(vardb=newLiteDatabase(@"MyData.db")){// Get customer collectionvarcol=db.GetCollection<Customer>("customers");// Create your new customer instancevarcustomer=newCustomer{Name="John Doe",Phones=newstring[]{"8000-0000","9000-0000"},Age=39,IsActive=true};// Create unique index in Name fieldcol.EnsureIndex(x=>x.Name,true);// Insert new customer document (Id will be auto-incremented)col.Insert(customer);// Update a document inside a collectioncustomer.Name="Joana Doe";col.Update(customer);// Use LINQ to query documents (with no index)varresults=col.Find(x=>x.Age>20);}

Using fluent mapper and cross document reference for more complex data models

// DbRef to cross referencespublicclassOrder{publicObjectIdId{get;set;}publicDateTimeOrderDate{get;set;}publicAddressShippingAddress{get;set;}publicCustomerCustomer{get;set;}publicList<Product>Products{get;set;}}// Re-use mapper from global instancevarmapper=BsonMapper.Global;// "Products" and "Customer" are from other collections (not embedded document)mapper.Entity<Order>().DbRef(x=>x.Customer,"customers")// 1 to 1/0 reference.DbRef(x=>x.Products,"products")// 1 to Many reference.Field(x=>x.ShippingAddress,"addr");// Embedded sub documentusing(vardb=newLiteDatabase("MyOrderDatafile.db")){varorders=db.GetCollection<Order>("orders");// When query Order, includes referencesvarquery=orders.Include(x=>x.Customer).Include(x=>x.Products)// 1 to many reference.Find(x=>x.OrderDate<=DateTime.Now);// Each instance of Order will load Customer/Products referencesforeach(varorderinquery){varname=order.Customer.Name;        ...}}

Where to use?

  • Desktop/local small applications
  • Application file format
  • Small web sites/applications
  • One databaseper account/user data store

Plugins

Changelog

Change details for each release are documented in therelease notes.

Code Signing

LiteDB is digitally signed courtesy ofSignPath

License

MIT

About

LiteDB - A .NET NoSQL Document Store in a single data file

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Contributors95

Languages


[8]ページ先頭

©2009-2025 Movatter.jp