问题标签 [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 for C# 用作文档存储系统。
只要我知道文件的 ID,我就可以上传和下载 - 但我也希望可以选择搜索它。
LiteDb 文档提供了此命令,用于搜索存储在 Db 中特定“目录”中的所有文件;
但是我不知道如何处理 files 变量。我无法将其转换为可用的字符串等。
例如,我想将其添加到列表视图中。
有没有人有使用 LiteDb 和文件搜索的经验?
android - 从 Task.Run() 填充回收视图
我正在使用 Xamarin Android,在我的应用程序中,我有一个从 LiteDB 填充的回收视图。
现在,在OnCreateView
包含回收视图的片段中,我设置了适配器,并调用SetData()
来填充我的列表。
它看起来像这样:
这很好用,但是当我查看片段时,应用程序会冻结。这是正常的,因为从数据库中获取数据的调用被阻塞了。
我想从 UI 线程中卸载工作,所以由于我需要触发并忘记这个函数,我将我的代码替换为:
这没有像我预期的那样工作,我确实确认调用了该函数并且该函数设置了新数据,然后调用NotifyNewData()
.
但是列表没有被填充,如果我转到另一个选项卡并返回,我的布局中的 FAB 会消失,并且抽屉被选中的两个项目卡住(导航仍然有效)。
此外,如果我不使用任务,而是使用新线程,我会得到所需的行为。像这样:
请注意,该应用程序行为正常,第一种方法可以正常工作。
为什么?除了打开另一个线程之外,还有其他方法可以卸载 DB 调用吗?(这是一个相当昂贵的操作)
c# - 重命名对象,或更改它的主键 (_id) 值
我正在实现 CRUD 接口的 UPDATE 部分,并使用 LiteDB 来存储我的对象集合。
我存储的对象是 Schedules,而 Schedule.ScheduleName 是集合上的索引。Schedule.ScheduleName 是类型的 [BsonId]。
我的更新方法非常简单:
但是,这会达到我的预期吗?如果提供的调度对象中有新名称,而 schjeduleID 是旧名称,我希望它会在 scheduleID 下找到旧条目,并使用新调度对象中的任何内容对其进行更新。但会吗?
如果是这样,那是实现 CRUD 的 U 部分的正确方法吗?我的语义正确吗?我想不出任何其他方式来重命名或更改对象的 ID!
c# - 从 LiteDB 检索记录时出现 InvalidCastException
我通过 LiteDb.Shell.exe 插入了一条记录,当我尝试在我的代码中检索记录时,它会抛出一个InvalidCastException
. 如果我尝试通过 shell 查找记录,我会得到一个Unable to cast object of type 'System.Int32' to type 'System.String'.
这是我的模型
这是我用来插入记录的shell命令
这是我用来尝试取回记录的 shell 命令
这是我用来检索记录的代码
这是我得到的完整堆栈跟踪
r - 使用 R 与 liteDB 一起工作
我正在寻找一种方法来(方便地)使用 R 访问存储在 LiteDB 中的数据。似乎没有一个包,但有没有另一种方法可以让它访问?
xamarin.forms - 对 LiteDB 使用“在哪里”
我喜欢在 Xamarin.Forms 中使用 LiteDB。使用条件中的 id 或索引列表从表中获取对象列表的最佳实践是什么?目前,它看起来像这样:
listValues - 搜索到的 id 列表。idColumnName - 带有索引的列。
但是 FindAll 从 LiteDB 中检索所有记录。没有全扫描,还有更多有效的选择吗?
c# - LiteDB 多列/字段 ID
我有一个有多个字段的类。比如说:
我想将 LiteDB 与该类一起使用,并让它同时使用 x 和 y 作为键。例如:
在我的 LiteDB 数据库中将被视为 2 个不同的条目。
所以我基本上想要这样的东西:
显然,Id(c => new {cx, cy}); 不工作。我也试过
但它也不起作用。我尝试在 LiteDB 文档中寻找解决方案,但找不到任何东西。这可能吗?如果是这样,我很想了解如何实现我的目标。
谢谢!
c# - LiteoDB 和 var List 插入 C#
我正在尝试使用 LiteDB,我有以下内容:
我一直在查看以下 LiteDB 示例:
有什么方法可以在我的情况下插入类型值列表: var list2 = new List();
我似乎找不到以这种方式插入的任何地方。
谢谢,
c# - Upsert 在 LiteDB 中不起作用
我正在尝试做这样的事情:
但正如代码中所述,我收到此错误:LiteDB.LiteException:'无法在唯一索引'a'中插入重复键。重复值是'"a"'。
如果Upsert存在,它不是用于插入或更新吗?
c# - LiteDB 中是否有等效于 SQLite 的 Vacuum 命令?
LiteDB 中是否有等效于 SQLite 的 Vacuum 命令?
VACUUM 命令重建数据库文件,将其重新打包到最小的磁盘空间中。