LiteDB.FSharp
LiteDB.FSharp provides F support for LiteDB, an embedded NoSQL database for .NET. It includes serialization utilities that enable LiteDB to handle F types such as records, discriminated unions, and maps. The library offers type-safe query expressions through F quotations and provides a custom FSharpBsonMapper for LiteDatabase initialization. Records used as documents require a primary key field named Id or id, which maps to id. The library supports standard operations including inserting documents, querying by ID, querying by field values, querying by discriminated union cases, and range queries on fields like DateTime. Advanced features include full search using quoted expressions for custom filtering logic, as well as Query.Where for filtering documents based on deserialized BsonValue fields. It works with nested discriminated unions and supports both simple equality queries and complex custom filtering predicates.