在好例子网,分享、交流、成长!
您当前所在位置:首页Others 开发实例一般编程问题 → LiteDB - 单个数据文件中的.NET NoSQL文档存储

LiteDB - 单个数据文件中的.NET NoSQL文档存储

一般编程问题

下载此实例
  • 开发语言:Others
  • 实例大小:1.57M
  • 下载次数:0
  • 浏览次数:5
  • 发布时间:2024-04-22
  • 实例类别:一般编程问题
  • 发 布 人:chenxiaolan
  • 文件格式:.zip
  • 所需积分:2
 相关标签: NoSQL .NET sql NET ITE

实例介绍

【实例简介】

LiteDB是一个小巧、快速、轻量级的.NET NoSQL嵌入式数据库。

它是一个无服务器的文档存储,提供简单的API,类似于MongoDB。

LiteDB的代码完全由C#编写,适用于.NET 4.5 / NETStandard 1.3/2.0,存储在单个DLL文件中(小于450kb),具有线程安全性,完全支持ACID,并提供完整的事务支持。

此外,LiteDB还支持写入失败后的数据恢复(使用WAL日志文件),数据文件加密(使用DES(AES)加密算法),以及通过属性或流畅映射器API将POCO类映射到BsonDocument。

LiteDB还支持文件存储和流数据存储(类似于MongoDB中的GridFS),以及单个数据文件存储(类似于SQLite)。

它还支持为快速搜索索引文档字段,具有LINQ支持进行查询,以及类似SQL的命令以访问/转换数据。

LiteDB还提供了一个名为LiteDB Studio的良好UI,用于访问数据。


【实例截图】
【核心代码】
文件清单
└── LiteDB-4f77be4cc096653472bf06ebcf95eb399b1a4ff5
    ├── appveyor.yml
    ├── ConsoleApp1
    │   ├── ConsoleApp1.csproj
    │   ├── Program.cs
    │   └── Tools
    │       ├── Faker.cs
    │       └── Faker.Names.cs
    ├── icon_64x64.png
    ├── LICENSE
    ├── LiteDB
    │   ├── Client
    │   │   ├── Database
    │   │   │   ├── Collections
    │   │   │   │   ├── Aggregate.cs
    │   │   │   │   ├── Delete.cs
    │   │   │   │   ├── Find.cs
    │   │   │   │   ├── Include.cs
    │   │   │   │   ├── Index.cs
    │   │   │   │   ├── Insert.cs
    │   │   │   │   ├── Update.cs
    │   │   │   │   └── Upsert.cs
    │   │   │   ├── ILiteCollection.cs
    │   │   │   ├── ILiteDatabase.cs
    │   │   │   ├── ILiteQueryable.cs
    │   │   │   ├── ILiteRepository.cs
    │   │   │   ├── LiteCollection.cs
    │   │   │   ├── LiteDatabase.cs
    │   │   │   ├── LiteQueryable.cs
    │   │   │   └── LiteRepository.cs
    │   │   ├── Mapper
    │   │   │   ├── Attributes
    │   │   │   │   ├── BsonCtorAttribute.cs
    │   │   │   │   ├── BsonFieldAttribute.cs
    │   │   │   │   ├── BsonIdAttribute.cs
    │   │   │   │   ├── BsonIgnoreAttribute.cs
    │   │   │   │   └── BsonRefAttribute.cs
    │   │   │   ├── BsonMapper.cs
    │   │   │   ├── BsonMapper.Deserialize.cs
    │   │   │   ├── BsonMapper.Serialize.cs
    │   │   │   ├── EntityBuilder.cs
    │   │   │   ├── EntityMapper.cs
    │   │   │   ├── Linq
    │   │   │   │   ├── LinqExpressionVisitor.cs
    │   │   │   │   ├── ParameterExpressionVisitor.cs
    │   │   │   │   └── TypeResolver
    │   │   │   │       ├── BsonValueResolver.cs
    │   │   │   │       ├── ConvertResolver.cs
    │   │   │   │       ├── DateTimeResolver.cs
    │   │   │   │       ├── EnumerableResolver.cs
    │   │   │   │       ├── GuidResolver.cs
    │   │   │   │       ├── ICollectionResolver.cs
    │   │   │   │       ├── ITypeResolver.cs
    │   │   │   │       ├── MathResolver.cs
    │   │   │   │       ├── NullableResolver.cs
    │   │   │   │       ├── NumberResolver.cs
    │   │   │   │       ├── ObjectIdResolver.cs
    │   │   │   │       ├── RegexResolver.cs
    │   │   │   │       └── StringResolver.cs
    │   │   │   ├── MemberMapper.cs
    │   │   │   ├── Reflection
    │   │   │   │   ├── Reflection.cs
    │   │   │   │   └── Reflection.Expression.cs
    │   │   │   └── TypeNameBinder
    │   │   │       ├── DefaultTypeNameBinder.cs
    │   │   │       └── ITypeNameBinder.cs
    │   │   ├── Shared
    │   │   │   ├── SharedDataReader.cs
    │   │   │   └── SharedEngine.cs
    │   │   ├── SqlParser
    │   │   │   ├── Commands
    │   │   │   │   ├── Begin.cs
    │   │   │   │   ├── Checkpoint.cs
    │   │   │   │   ├── Commit.cs
    │   │   │   │   ├── Create.cs
    │   │   │   │   ├── Delete.cs
    │   │   │   │   ├── Drop.cs
    │   │   │   │   ├── Insert.cs
    │   │   │   │   ├── ParseLists.cs
    │   │   │   │   ├── Pragma.cs
    │   │   │   │   ├── Rebuild.cs
    │   │   │   │   ├── Rename.cs
    │   │   │   │   ├── Rollback.cs
    │   │   │   │   ├── Select.cs
    │   │   │   │   └── Update.cs
    │   │   │   └── SqlParser.cs
    │   │   ├── Storage
    │   │   │   ├── ILiteStorage.cs
    │   │   │   ├── LiteFileInfo.cs
    │   │   │   ├── LiteFileStream.cs
    │   │   │   ├── LiteFileStream.Read.cs
    │   │   │   ├── LiteFileStream.Write.cs
    │   │   │   └── LiteStorage.cs
    │   │   └── Structures
    │   │       ├── ConnectionString.cs
    │   │       ├── ConnectionType.cs
    │   │       ├── QueryAny.cs
    │   │       └── Query.cs
    │   ├── Document
    │   │   ├── Bson
    │   │   │   └── BsonSerializer.cs
    │   │   ├── BsonArray.cs
    │   │   ├── BsonAutoId.cs
    │   │   ├── BsonDocument.cs
    │   │   ├── BsonType.cs
    │   │   ├── BsonValue.cs
    │   │   ├── DataReader
    │   │   │   ├── BsonDataReader.cs
    │   │   │   ├── BsonDataReaderExtensions.cs
    │   │   │   └── IBsonDataReader.cs
    │   │   ├── Expression
    │   │   │   ├── BsonExpression.cs
    │   │   │   ├── Methods
    │   │   │   │   ├── Aggregate.cs
    │   │   │   │   ├── DataTypes.cs
    │   │   │   │   ├── Date.cs
    │   │   │   │   ├── Math.cs
    │   │   │   │   ├── Misc.cs
    │   │   │   │   └── String.cs
    │   │   │   └── Parser
    │   │   │       ├── BsonExpressionAttributes.cs
    │   │   │       ├── BsonExpressionFunctions.cs
    │   │   │       ├── BsonExpressionOperators.cs
    │   │   │       ├── BsonExpressionParser.cs
    │   │   │       ├── BsonExpressionType.cs
    │   │   │       ├── DocumentScope.cs
    │   │   │       └── ExpressionContext.cs
    │   │   ├── Json
    │   │   │   ├── JsonReader.cs
    │   │   │   ├── JsonSerializer.cs
    │   │   │   └── JsonWriter.cs
    │   │   └── ObjectId.cs
    │   ├── Engine
    │   │   ├── Disk
    │   │   │   ├── DiskReader.cs
    │   │   │   ├── DiskService.cs
    │   │   │   ├── DiskWriterQueue.cs
    │   │   │   ├── MemoryCache.cs
    │   │   │   ├── Serializer
    │   │   │   │   ├── BufferPool.cs
    │   │   │   │   ├── BufferReader.cs
    │   │   │   │   └── BufferWriter.cs
    │   │   │   ├── StreamFactory
    │   │   │   │   ├── FileStreamFactory.cs
    │   │   │   │   ├── IStreamFactory.cs
    │   │   │   │   ├── StreamFactory.cs
    │   │   │   │   └── StreamPool.cs
    │   │   │   └── Streams
    │   │   │       ├── AesStream.cs
    │   │   │       ├── ConcurrentStream.cs
    │   │   │       └── TempStream.cs
    │   │   ├── Engine
    │   │   │   ├── Collection.cs
    │   │   │   ├── Delete.cs
    │   │   │   ├── Index.cs
    │   │   │   ├── Insert.cs
    │   │   │   ├── Pragma.cs
    │   │   │   ├── Query.cs
    │   │   │   ├── Rebuild.cs
    │   │   │   ├── Recovery.cs
    │   │   │   ├── Sequence.cs
    │   │   │   ├── SystemCollections.cs
    │   │   │   ├── Transaction.cs
    │   │   │   ├── Update.cs
    │   │   │   ├── Upgrade.cs
    │   │   │   └── Upsert.cs
    │   │   ├── EnginePragmas.cs
    │   │   ├── EngineSettings.cs
    │   │   ├── EngineState.cs
    │   │   ├── FileReader
    │   │   │   ├── FileReaderError.cs
    │   │   │   ├── FileReaderV7.cs
    │   │   │   ├── FileReaderV8.cs
    │   │   │   ├── IFileReader.cs
    │   │   │   ├── IndexInfo.cs
    │   │   │   └── Legacy
    │   │   │       ├── AesEncryption.cs
    │   │   │       ├── BsonReader.cs
    │   │   │       └── ByteReader.cs
    │   │   ├── ILiteEngine.cs
    │   │   ├── LiteEngine.cs
    │   │   ├── Pages
    │   │   │   ├── BasePage.cs
    │   │   │   ├── CollectionPage.cs
    │   │   │   ├── DataPage.cs
    │   │   │   ├── HeaderPage.cs
    │   │   │   └── IndexPage.cs
    │   │   ├── Pragmas.cs
    │   │   ├── Query
    │   │   │   ├── IndexQuery
    │   │   │   │   ├── IndexAll.cs
    │   │   │   │   ├── Index.cs
    │   │   │   │   ├── IndexEquals.cs
    │   │   │   │   ├── IndexIn.cs
    │   │   │   │   ├── IndexLike.cs
    │   │   │   │   ├── IndexRange.cs
    │   │   │   │   ├── IndexScan.cs
    │   │   │   │   └── IndexVirtual.cs
    │   │   │   ├── Lookup
    │   │   │   │   ├── DatafileLookup.cs
    │   │   │   │   ├── IDocumentLookup.cs
    │   │   │   │   └── IndexKeyLoader.cs
    │   │   │   ├── Pipeline
    │   │   │   │   ├── BasePipe.cs
    │   │   │   │   ├── DocumentCacheEnumerable.cs
    │   │   │   │   ├── GroupByPipe.cs
    │   │   │   │   └── QueryPipe.cs
    │   │   │   ├── Query.cs
    │   │   │   ├── QueryExecutor.cs
    │   │   │   ├── QueryOptimization.cs
    │   │   │   └── Structures
    │   │   │       ├── GroupBy.cs
    │   │   │       ├── IndexCost.cs
    │   │   │       ├── OrderBy.cs
    │   │   │       ├── QueryPlan.cs
    │   │   │       └── Select.cs
    │   │   ├── Services
    │   │   │   ├── CollectionService.cs
    │   │   │   ├── DataService.cs
    │   │   │   ├── IndexService.cs
    │   │   │   ├── LockService.cs
    │   │   │   ├── RebuildService.cs
    │   │   │   ├── SnapShot.cs
    │   │   │   ├── TransactionMonitor.cs
    │   │   │   ├── TransactionService.cs
    │   │   │   └── WalIndexService.cs
    │   │   ├── Sort
    │   │   │   ├── SortContainer.cs
    │   │   │   ├── SortDisk.cs
    │   │   │   └── SortService.cs
    │   │   ├── Structures
    │   │   │   ├── CollectionIndex.cs
    │   │   │   ├── CursorInfo.cs
    │   │   │   ├── DataBlock.cs
    │   │   │   ├── Done.cs
    │   │   │   ├── FileOrigin.cs
    │   │   │   ├── IndexNode.cs
    │   │   │   ├── LockMode.cs
    │   │   │   ├── PageAddress.cs
    │   │   │   ├── PageBuffer.cs
    │   │   │   ├── PagePosition.cs
    │   │   │   ├── Pragma.cs
    │   │   │   ├── RebuildOptions.cs
    │   │   │   ├── TransactionPages.cs
    │   │   │   └── TransactionState.cs
    │   │   └── SystemCollections
    │   │       ├── Register.cs
    │   │       ├── SysCols.cs
    │   │       ├── SysDatabase.cs
    │   │       ├── SysDump.cs
    │   │       ├── SysFile.cs
    │   │       ├── SysFileCsv.cs
    │   │       ├── SysFileJson.cs
    │   │       ├── SysIndexes.cs
    │   │       ├── SysOpenCursors.cs
    │   │       ├── SysPageList.cs
    │   │       ├── SysQuery.cs
    │   │       ├── SysSequences.cs
    │   │       ├── SysSnapshots.cs
    │   │       ├── SystemCollection.cs
    │   │       └── SysTransactions.cs
    │   ├── LiteDB.csproj
    │   ├── LiteDB.snk
    │   └── Utils
    │       ├── AsyncManualResetEvent.cs
    │       ├── BufferSlice.cs
    │       ├── Collation.cs
    │       ├── Constants.cs
    │       ├── Encoding.cs
    │       ├── ExtendedLengthHelper.cs
    │       ├── Extensions
    │       │   ├── BufferExtensions.cs
    │       │   ├── BufferSliceExtensions.cs
    │       │   ├── DateExtensions.cs
    │       │   ├── DictionaryExtensions.cs
    │       │   ├── ExpressionExtensions.cs
    │       │   ├── HashSetExtensions.cs
    │       │   ├── IOExceptionExtensions.cs
    │       │   ├── LinqExtensions.cs
    │       │   ├── StreamExtensions.cs
    │       │   ├── StringExtensions.cs
    │       │   └── TypeInfoExtensions.cs
    │       ├── FileHelper.cs
    │       ├── LCID.cs
    │       ├── LiteException.cs
    │       ├── MimeTypeConverter.cs
    │       ├── Pool
    │       │   ├── ArrayPool.cs
    │       │   └── BucketHelper.cs
    │       ├── Randomizer.cs
    │       ├── Result.cs
    │       ├── Tokenizer.cs
    │       └── TryCatch.cs
    ├── LiteDB.Benchmarks
    │   ├── Benchmarks
    │   │   ├── BenchmarkBase.cs
    │   │   ├── Constants.cs
    │   │   ├── Deletion
    │   │   │   └── DeletionBenchmark.cs
    │   │   ├── Generator
    │   │   │   └── FileMetaDataGenerationDatabaseBenchmark.cs
    │   │   ├── Insertion
    │   │   │   ├── InsertionBasicBenchmark.cs
    │   │   │   ├── InsertionIgnoreExpressionPropertyBenchmark.cs
    │   │   │   └── InsertionInMemoryBenchmark.cs
    │   │   └── Queries
    │   │       ├── QueryAllBenchmark.cs
    │   │       ├── QueryCompoundIndexBenchmark.cs
    │   │       ├── QueryCountBenchmark.cs
    │   │       ├── QueryIgnoreExpressionPropertiesBenchmark.cs
    │   │       ├── QueryMultipleParametersBenchmark.cs
    │   │       ├── QuerySimpleIndexBenchmarks.cs
    │   │       └── QueryWithDateTimeOffsetBenchmark.cs
    │   ├── LiteDB.Benchmarks.csproj
    │   ├── Models
    │   │   ├── FileMetaBase.cs
    │   │   ├── FileMetaWithExclusion.cs
    │   │   └── Generators
    │   │       └── FileMetaGenerator.cs
    │   └── Program.cs
    ├── LiteDB.Shell
    │   ├── Commands
    │   │   ├── Close.cs
    │   │   ├── Ed.cs
    │   │   ├── Help.cs
    │   │   ├── IShellCommand.cs
    │   │   ├── Open.cs
    │   │   ├── Pretty.cs
    │   │   ├── Quit.cs
    │   │   ├── Run.cs
    │   │   ├── ShowCollections.cs
    │   │   └── Version.cs
    │   ├── LiteDB.Shell.csproj
    │   ├── Program.cs
    │   ├── Properties
    │   │   └── launchSettings.json
    │   ├── Shell
    │   │   ├── Display.cs
    │   │   ├── Env.cs
    │   │   ├── InputCommand.cs
    │   │   └── ShellProgram.cs
    │   └── Utils
    │       ├── OptionSet.cs
    │       ├── StringExtensions.cs
    │       └── StringScanner.cs
    ├── LiteDB.sln
    ├── LiteDB.Stress
    │   ├── Examples
    │   │   ├── test-01.xml
    │   │   └── test-02.xml
    │   ├── LiteDB.Stress.csproj
    │   ├── Program.cs
    │   ├── Properties
    │   │   └── launchSettings.json
    │   └── Test
    │       ├── InsertField.cs
    │       ├── InsertTaskItem.cs
    │       ├── ITaskItem.cs
    │       ├── SqlTaskItem.cs
    │       ├── TestExecution.cs
    │       ├── TestFile.cs
    │       ├── ThreadInfo.cs
    │       └── TimeSpanEx.cs
    ├── LiteDB.Tests
    │   ├── Database
    │   │   ├── AutoId_Tests.cs
    │   │   ├── ConnectionString_Tests.cs
    │   │   ├── Create_Database_Tests.cs
    │   │   ├── Crud_Tests.cs
    │   │   ├── Database_Pragmas_Tests.cs
    │   │   ├── DbRef_Include_Tests.cs
    │   │   ├── DbRef_Index_Tests.cs
    │   │   ├── DbRef_Interface_Tests.cs
    │   │   ├── Delete_By_Name_Tests.cs
    │   │   ├── DeleteMany_Tests.cs
    │   │   ├── Document_Size_Tests.cs
    │   │   ├── FindAll_Tests.cs
    │   │   ├── IndexMultiKeyLinq_Tests.cs
    │   │   ├── IndexSortAndFilter_Tests.cs
    │   │   ├── MultiKey_Mapper_Tests.cs
    │   │   ├── NonIdPoco_Tests.cs
    │   │   ├── PredicateBuilder_Tests.cs
    │   │   ├── Query_Min_Max_Tests.cs
    │   │   ├── Site_Tests.cs
    │   │   ├── Snapshot_Upgrade_Tests.cs
    │   │   ├── Storage_Tests.cs
    │   │   └── Upgrade_Tests.cs
    │   ├── Document
    │   │   ├── Bson_Tests.cs
    │   │   ├── Case_Insensitive_Tests.cs
    │   │   ├── Decimal_Tests.cs
    │   │   ├── Implicit_Tests.cs
    │   │   ├── Json_Tests.cs
    │   │   └── ObjectId_Tests.cs
    │   ├── Engine
    │   │   ├── Collation_Tests.cs
    │   │   ├── Create_Database_Tests.cs
    │   │   ├── Crypto_Tests.cs
    │   │   ├── DropCollection_Tests.cs
    │   │   ├── Index_Tests.cs
    │   │   ├── ParallelQuery_Tests.cs
    │   │   ├── Rebuild_Crash_Tests.cs
    │   │   ├── Rebuild_Tests.cs
    │   │   ├── Transactions_Tests.cs
    │   │   ├── Update_Tests.cs
    │   │   └── UserVersion_Tests.cs
    │   ├── Expressions
    │   │   ├── Expressions_Exec_Tests.cs
    │   │   └── Expressions_Tests.cs
    │   ├── Internals
    │   │   ├── Aes_Tests.cs
    │   │   ├── BasePage_Tests.cs
    │   │   ├── BufferWriter_Tests.cs
    │   │   ├── CacheAsync_Tests.cs
    │   │   ├── Cache_Tests.cs
    │   │   ├── Disk_Tests.cs
    │   │   ├── Document_Tests.cs
    │   │   ├── ExtendedLength_Tests.cs
    │   │   ├── FreePage_Tests.cs
    │   │   ├── FreeSlot_Tests.cs
    │   │   ├── HeaderPage_Tests.cs
    │   │   ├── Pragma_Tests.cs
    │   │   └── Sort_Tests.cs
    │   ├── Issues
    │   │   ├── Issue1585_Tests.cs
    │   │   ├── Issue1651_Tests.cs
    │   │   ├── Issue1695_Tests.cs
    │   │   ├── Issue1701_Tests.cs
    │   │   ├── Issue1838_Tests.cs
    │   │   ├── Issue1860_Tests.cs
    │   │   ├── Issue1865_Tests.cs
    │   │   ├── Issue2112_Tests.cs
    │   │   ├── Issue2127_Tests.cs
    │   │   ├── Issue2129_Tests.cs
    │   │   └── Issue2417_Tests.cs
    │   ├── LiteDB.Tests.csproj
    │   ├── Mapper
    │   │   ├── CustomInterface_Tests.cs
    │   │   ├── CustomMappingCtor_Tests.cs
    │   │   ├── CustomMapping_Tests.cs
    │   │   ├── DbRefAbstract_Tests.cs
    │   │   ├── Dictionary_Tests.cs
    │   │   ├── Enum_Tests.cs
    │   │   ├── GenericMap_Tests.cs
    │   │   ├── LinqBsonExpression_Tests.cs
    │   │   ├── LinqEval_Tests.cs
    │   │   ├── Mapper_Tests.cs
    │   │   ├── Records_Tests.cs
    │   │   └── StructField_Tests.cs
    │   ├── Query
    │   │   ├── Aggregate_Tests.cs
    │   │   ├── GroupBy_Tests.cs
    │   │   ├── Include_Tests.cs
    │   │   ├── OrderBy_Tests.cs
    │   │   ├── Person_Tests.cs
    │   │   ├── QueryApi_Tests.cs
    │   │   ├── Select_Tests.cs
    │   │   └── Where_Tests.cs
    │   ├── Resources
    │   │   ├── Issue2417_MyData.db
    │   │   ├── Issue2417_TestCacheDb.db
    │   │   ├── person.json
    │   │   ├── v4.db
    │   │   └── zip.json
    │   ├── Utils
    │   │   ├── AssertEx.cs
    │   │   ├── DataGen.cs
    │   │   ├── Faker.cs
    │   │   ├── Faker.Names.cs
    │   │   ├── LiteEngineExtensions.cs
    │   │   ├── Models
    │   │   │   ├── Person.cs
    │   │   │   └── Zip.cs
    │   │   └── TempFile.cs
    │   └── xunit.runner.json
    └── README.md

75 directories, 401 files

标签: NoSQL .NET sql NET ITE

网友评论

发表评论

(您的评论需要经过审核才能显示)

查看所有0条评论>>

小贴士

感谢您为本站写下的评论,您的评论对其它用户来说具有重要的参考价值,所以请认真填写。

  • 类似“顶”、“沙发”之类没有营养的文字,对勤劳贡献的楼主来说是令人沮丧的反馈信息。
  • 相信您也不想看到一排文字/表情墙,所以请不要反馈意义不大的重复字符,也请尽量不要纯表情的回复。
  • 提问之前请再仔细看一遍楼主的说明,或许是您遗漏了。
  • 请勿到处挖坑绊人、招贴广告。既占空间让人厌烦,又没人会搭理,于人于己都无利。

关于好例子网

本站旨在为广大IT学习爱好者提供一个非营利性互相学习交流分享平台。本站所有资源都可以被免费获取学习研究。本站资源来自网友分享,对搜索内容的合法性不具有预见性、识别性、控制性,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,平台无法对用户传输的作品、信息、内容的权属或合法性、安全性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论平台是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二与二十三条之规定,若资源存在侵权或相关问题请联系本站客服人员,点此联系我们。关于更多版权及免责申明参见 版权及免责申明

;
报警