问题标签 [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.

0 投票
0 回答
383 浏览

c# - 如何使用 LiteDB 保存私有字段

是否有私有属性的属性要与 LiteDB 引擎一起存储?

我想将此属性存储在 LiteDB 数据库中

是否存在与存储过程中包含私有字段的属性完全相反的[BsonIgnore]属性(如“ ”)?[BsonInclude]

我试图简单地设置[BsonField]属性,但这没有帮助,我查看了 Mappers,但据我所知,它们都依赖于公开的字段。

这是我为什么要这样做的一个示例:我有以下课程:

该对象现在应该存储在数据库中(作为另一个文档的子对象)。我不希望这两个属性公开,因为我必须在设置和获取它之前执行验证,但我想将数据存储在磁盘上。

0 投票
1 回答
622 浏览

c# - 如何使用 c# Litedb (noSQL) 更改数据库位置?

我是 noSQL 新手并尝试使用litedb

我想更改数据库存储的位置。

现在这段代码:

在projectName\bin\Debug创建数据库

有没有办法从项目的根目录创建数据库?

有理由将数据库留在那里吗?也许我试图这样做是错误的。

任何帮助表示赞赏!

0 投票
2 回答
1114 浏览

c# - 如何在 C# 中检查 LiteDB 数据库文件是否有密码?

我有许多 LiteDB 数据库文件。其中一些有密码。当我在应用程序中打开这些文件时,对于那些有密码的文件,我将得到 Invalid database password 异常。

如何在打开数据库文件之前检查它是否有密码保护?所以我可以向用户显示一个输入框以获取密码。

我在 Windows WPF 应用程序(C#)中使用 LiteDB。

谢谢和对不起我的英语。:)

0 投票
1 回答
593 浏览

c# - 在 LiteDB 中插入 C# POCO 类的问题

我有以下代码将我的 POCO 插入到 LiteDB 实例中。

这是 POCO:

这是将数据插入集合的调用:

files.Insert(data)行抛出错误:

论点 1:无法从“LargeFileDownload.Models.FileTranslationData”转换为“LiteDB.BsonDocument”

我已经阅读了 LiteDB 的文档,它说它可以处理插入 POCO 对象。我还有一个我想发送索引的 ID 字段。我在这里想念什么?

0 投票
1 回答
1211 浏览

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

0 投票
1 回答
732 浏览

c# - Collection.Find(....), Collection.FindAll() 所有抛出异常消息“值不能为空参数名称方法”

人物模型:

从数据库中查找人:

如代码所示,在数据库上执行查找查询时,堆栈跟踪会引发此异常:

0 投票
0 回答
97 浏览

c# - 如何将 LiteDB 查询结果输出为字符串?

我正在尝试设置一个 ListView,它将使用 LiteDB 输出搜索查询的所有结果。不幸的是,我无法找到将结果转换为 ProductName 字符串格式的方法。我尝试了多种不同的方法都没有成功。下面的代码显然是不正确的。但是,这只是我正在尝试做的一个简单示例。

我希望结果是字符串格式的 ProductName,但是,它只将“StockMngr.Product”输出到列表视图,StockMngr 是项目的名称。

0 投票
0 回答
155 浏览

c# - 从可枚举中获取第一项需要很长时间

我有大量的 LiteDB 项目集合。我只想找到按某些标准添加的最后一个。标准在 lambda 表达式中。我的问题是,它花了很长时间(现在大约 2-3 秒),而我只有测试数据库。在完整模式下,值将增加 10 倍。

我现在的代码,带有时间戳:

结果是:

所以很明显,选择值需要大部分时间。

我努力了:

  • 只需在orderedEnum上使用.First(),没有变化
  • 使用 Take( x ) 与否,没有变化
  • 将其转换为数组或列表,然后选择第一个,这需要更长的时间,但没什么意义

我认为, .First() 从枚举创建数组,然后选择第一项。有没有办法在不生成整个数组并造成大滞后的情况下选择项目?

编辑: 根据 Matthew Watson 的评论,我编辑了代码,发现我的 lambda 表达式花费了大部分时间和结论,First() 方法花费了大部分时间是错误的。它只需要因为它一次执行整个查询。

结果

所以我认为,我不能这样做,我必须创建解决方法。

0 投票
1 回答
560 浏览

c# - 从 LiteDB 执行 LINQ 时转换为 .ToList() 时的性能问题大约。100 万条记录

我正在使用 LiteDB 存储大约 100 万条记录。当我在过滤后从 LiteDb 检索记录并从 IQueryable 转换 .ToList() 时,即使查询结果只是一条记录,它也非常慢。我真的坚持这一点。

我发现转换 .ToList() 的问题。

我正在阅读一些关于已经面临的类似问题(即.ToList())的内容。但没有得到任何正确的解决方案。

我的示例代码:

…………………………………………………………………………

0 投票
1 回答
60 浏览

c# - 处理集合中类的内部变化

我不知道如何正确解释它,但我有一个类的集合:

如您所见,类在从内部实例化后会更改其属性。

如何在更改属性后将其保存回数据库,但使用新属性?


PS如果我没有很好地解释这个问题或最初选择了错误的路径 - 写下它