问题标签 [litedb]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 如何使用 LiteDB 保存私有字段
是否有私有属性的属性要与 LiteDB 引擎一起存储?
我想将此属性存储在 LiteDB 数据库中
是否存在与存储过程中包含私有字段的属性完全相反的[BsonIgnore]
属性(如“ ”)?[BsonInclude]
我试图简单地设置[BsonField]
属性,但这没有帮助,我查看了 Mappers,但据我所知,它们都依赖于公开的字段。
这是我为什么要这样做的一个示例:我有以下课程:
该对象现在应该存储在数据库中(作为另一个文档的子对象)。我不希望这两个属性公开,因为我必须在设置和获取它之前执行验证,但我想将数据存储在磁盘上。
c# - 如何使用 c# Litedb (noSQL) 更改数据库位置?
我是 noSQL 新手并尝试使用litedb。
我想更改数据库存储的位置。
现在这段代码:
在projectName\bin\Debug创建数据库
有没有办法从项目的根目录创建数据库?
有理由将数据库留在那里吗?也许我试图这样做是错误的。
任何帮助表示赞赏!
c# - 如何在 C# 中检查 LiteDB 数据库文件是否有密码?
我有许多 LiteDB 数据库文件。其中一些有密码。当我在应用程序中打开这些文件时,对于那些有密码的文件,我将得到 Invalid database password 异常。
如何在打开数据库文件之前检查它是否有密码保护?所以我可以向用户显示一个输入框以获取密码。
我在 Windows WPF 应用程序(C#)中使用 LiteDB。
谢谢和对不起我的英语。:)
c# - 在 LiteDB 中插入 C# POCO 类的问题
我有以下代码将我的 POCO 插入到 LiteDB 实例中。
这是 POCO:
这是将数据插入集合的调用:
该files.Insert(data)
行抛出错误:
论点 1:无法从“LargeFileDownload.Models.FileTranslationData”转换为“LiteDB.BsonDocument”
我已经阅读了 LiteDB 的文档,它说它可以处理插入 POCO 对象。我还有一个我想发送索引的 ID 字段。我在这里想念什么?
c# - LiteDb 集合在按 id 搜索时返回无效数据
我尝试通过它在 liteDb 中的 id 来查找实体。但是结果返回了错误的实体(带有另一个 id)。它仅在一个客户的一个实体上复制(其他客户效果很好)。
我在我的程序中使用 LiteDB 4.1.2.0,我也尝试在 LiteDBViewer (4.1.0.0) 中找到实体。
我希望 liteDb 将返回具有我的 id (9fe943d3-97d4-4301-8279-eca89b4209ee) 的实体,但实际输出实体的 id = 2aba5886-ca30-4d67-9cf8-558441ef5eb6。
liteDbViewer 的结果:https ://i.ibb.co/WntgmZK/2019-08-16-1230.png
c# - Collection.Find(....), Collection.FindAll() 所有抛出异常消息“值不能为空参数名称方法”
人物模型:
从数据库中查找人:
如代码所示,在数据库上执行查找查询时,堆栈跟踪会引发此异常:
c# - 如何将 LiteDB 查询结果输出为字符串?
我正在尝试设置一个 ListView,它将使用 LiteDB 输出搜索查询的所有结果。不幸的是,我无法找到将结果转换为 ProductName 字符串格式的方法。我尝试了多种不同的方法都没有成功。下面的代码显然是不正确的。但是,这只是我正在尝试做的一个简单示例。
我希望结果是字符串格式的 ProductName,但是,它只将“StockMngr.Product”输出到列表视图,StockMngr 是项目的名称。
c# - 从可枚举中获取第一项需要很长时间
我有大量的 LiteDB 项目集合。我只想找到按某些标准添加的最后一个。标准在 lambda 表达式中。我的问题是,它花了很长时间(现在大约 2-3 秒),而我只有测试数据库。在完整模式下,值将增加 10 倍。
我现在的代码,带有时间戳:
结果是:
所以很明显,选择值需要大部分时间。
我努力了:
- 只需在orderedEnum上使用.First(),没有变化
- 使用 Take( x ) 与否,没有变化
- 将其转换为数组或列表,然后选择第一个,这需要更长的时间,但没什么意义
我认为, .First() 从枚举创建数组,然后选择第一项。有没有办法在不生成整个数组并造成大滞后的情况下选择项目?
编辑: 根据 Matthew Watson 的评论,我编辑了代码,发现我的 lambda 表达式花费了大部分时间和结论,First() 方法花费了大部分时间是错误的。它只需要因为它一次执行整个查询。
结果
所以我认为,我不能这样做,我必须创建解决方法。
c# - 从 LiteDB 执行 LINQ 时转换为 .ToList() 时的性能问题大约。100 万条记录
我正在使用 LiteDB 存储大约 100 万条记录。当我在过滤后从 LiteDb 检索记录并从 IQueryable 转换 .ToList() 时,即使查询结果只是一条记录,它也非常慢。我真的坚持这一点。
我发现转换 .ToList() 的问题。
我正在阅读一些关于已经面临的类似问题(即.ToList())的内容。但没有得到任何正确的解决方案。
我的示例代码:
…………………………………………………………………………
c# - 处理集合中类的内部变化
我不知道如何正确解释它,但我有一个类的集合:
如您所见,类在从内部实例化后会更改其属性。
如何在更改属性后将其保存回数据库,但使用新属性?
PS如果我没有很好地解释这个问题或最初选择了错误的路径 - 写下它