问题标签 [lokijs]

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 投票
1 回答
726 浏览

node.js - LokiJS 在处理 50k+ 读取和写入时与更新和读取不一致

目前我们正在使用 nodeJS 和 LokiJS。因为我们的应用程序正在处理实时数据;与外部 NoSQL/Relational DB 通信将导致延迟问题。

所以我们决定使用内存数据库,即 LokiJS。

LokiJs 擅长处理包含 500-100 个文档的集合。但是当涉及到更新和并行读取时;情况更糟。

这意味着我们的供应商之一已发布 Kafka 端点以使用提要,并再次将其提供给某些外部服务;从 Kafka 主题中,我们每秒收到 100-200 个事件。因此,每当我们收到 Kafka 事件时,我们都会更新现有集合。由于增量更新过于频繁,LokiJS 集合更新无法通过读取正确完成,从而导致不一致的结果。

这是我的收藏创​​建片段。

你能建议我吗,我在这里有什么遗漏吗?

0 投票
1 回答
384 浏览

node.js - Node-LokiJS:并非所有获取请求都已完成,请求状态永远挂起?

我按照本教程使用 multer-express 进行文件上传,然后通过 id Scoth.io检索图像。

该设置使用 LokiJS 作为数据库。

所有 API 都可以正常工作,但是当通过 ID 检索多个图像的 API 不适用于多个图像时。大多数获取请求都在服务器上挂起(状态在 Chrome 开发工具的网络面板中挂起)。

一旦处于挂起状态(永远挂起),请求就永远不会完成,服务器就会陷入这种状态。

待处理的网络请求-chrome-dev-tools

通过 Id 检索图像的 API

Index.ts(所有 API)

索引.html

实用程序.ts

0 投票
1 回答
58 浏览

javascript - LokiJS:当将 DynamicView().branchResultSet 与 applySort 一起使用时,它不会对集合进行排序

branchResultSet在使用applySort视图后从 a 获取数据时遇到问题。我使用它的原因是因为我希望返回 10 条记录的限制,而不是为了获得更好的性能。当我只使用数据方法时,它按预期工作。

示例代码:

我希望看到集合排序。

如果我使用this.studentView.data(),我会看到按预期排序的数据。

当我使用applyWhere它时,它按预期工作。

使用该branchResultSet方法也不适用于applySimpleSort(param).

applyFind也可以按预期工作。

我唯一的问题是两种排序方法。

我正在使用 StencilJS 和 TypeScript,但我不认为问题出在这些框架上,因为我尝试在 Vanilla HTML-JavaScript 上运行类似的代码并且遇到了同样的问题。

0 投票
1 回答
38 浏览

javascript - Loki db 更改新项目集成

我的项目新集成:

我正在使用find()方法,但它不起作用。

像这样工作正常。

我看起来像这样,请帮助我。var arrayResults = collection.find({'userId':$rootScope.userId,'productType':'kcc'});

0 投票
1 回答
224 浏览

nuxt.js - 如何为 nuxt-content 编写不区分大小写的查询

我正在用 Nuxt Content 写我的博客,它可以根据帖子的属性过滤帖子。我的属性之一是tags. 现在我想为每个标签创建一个页面。

我当前的解决方案有效,但查询区分大小写,我真的希望它不区分大小写。

根据LokiJS 文档,我尝试在函数中使用一个函数where,但这会返回所有帖子,而不仅仅是给定标签的帖子。

那么我应该如何编写查询以获得包含标签的文章而不必担心区分大小写。

0 投票
1 回答
225 浏览

node.js - TypeError:Loki 不是构造函数

我似乎无法弄清楚为什么这不起作用

我的 Hapi.js index.ts 看起来像这样:

...

这很简单,取自一个众所周知的例子

我的 package.json 中的脚本如下所示:

编译成 dist/index.js 当我运行 start 时,我收到以下错误:

我已经尝试了各种各样的事情,但我想我错过了重点,如果有人可以帮助我,我将不胜感激。Loki 不是构造函数,我明白了,但我怎样才能实例化一个新的 Loki(),以及为什么同样的东西在其他地方也能起作用?

感谢您的帮助!

0 投票
1 回答
65 浏览

typescript - LokiJS saveDatabase 到持久性问题

我一直在节点上使用 lokijs,并将其与 express、socket 和 typescript 一起使用。

现在我有两个 loki 数据库实例,当我使用db.saveDatabase()它时,它没有在文件中设置,尽管我确实使用. 集合本身似乎得到了很好的更新,但不知何故,在通过重新加载网页之前使用条目更新数据库后,无法将其设置为持久性。甚至我在 saveDatabase 中添加的回调也在运行new Loki(${DB_PATH}/${DB_NAME}, { persistenceMethod: 'fs'});db.saveDatabase((error) => { console.log(Do we have an error: ${error}) });

我在 Windows 10 机器上本地运行它。文件夹的权限似乎没问题。

0 投票
0 回答
303 浏览

logging - 在 Grafana Loki 中删除时间戳并获取日志列表

最近,我开始研究 Grafana Loki。我对日志堆栈(PLG - Promtail、Loki 和 Grafana)有了一些了解。我需要将日志存储在 Loki 中。所以,我设置了 promtail 代理,它可以监控日志文件并将其发送给 Loki。

Grafana 能够向我显示 UI 上的日志。

但是,我确实需要有我们自己的用户界面。可以显示日志。所以,基本上,我做了一些研究,发现我们有 API,我们可以通过这些 API 查询 Loki 以获取日志消息。

但是,通过查询 loki,我得到以下响应,

有没有办法删除这些时间戳1622627498058775000并使 loki 只返回日志消息?

例如,值:[ { key:value }, { key:value } ]

0 投票
1 回答
80 浏览

ios - 访问本地存储,将 Cordova App 迁移到 Swift App

我们正处于在新的 Swift 应用程序中完全重写旧版 Cordova 应用程序的尾声,我们面临的问题是在迁移时,Cordova 应用程序会在设备上存储一些信息,例如刷新令牌以及何时强制执行将我们的用户升级到我们希望让他们保持登录状态的新应用程序。

Cordova 应用程序正在使用一个名为 LokiJS 的库来执行此操作,并且 sql lite db 将这些信息存储在/var/mobile/Containers/Data/Application/{UUID}/Library/NoCloud/目录中的 live 中。新的 Swift 应用程序将使用相同的包标识符,因此我们应该能够访问这个目录,尽管到目前为止我还没有找到访问它的方法。

在 for 中没有 /Library/NoCloud 的目录SearchPathDirectoryFileManager如果我们使用.libraryDirectory并附加“NoCloud”,我们会得到:"The folder “NoCloud” doesn’t exist."或者甚至列出 .libraryDirectory 的 subpathsOfDirectory 我们得到:"The file “Library” couldn’t be opened because there is no such file."应用程序的 UUID 也会在每次安装时发生变化,所以没有知道原始完整路径的方法。

有没有人有过这样做的经验?Cordova 应用程序必须有一种方法可以读取/写入它,但我似乎找不到任何具体的解决方案,我们实现这一点非常重要,值得注意的是我们的 Android 应用程序可以访问这个 Loki db。

0 投票
0 回答
172 浏览

javascript - Loki js没有在节点js中永久存储数据

我写了一个简单的nodejs访问者程序。在这里我想存储这个程序的执行日期。执行是指使用node index.js命令运行这个程序。

第一次运行程序时,它会将数据({execution-time: date})存储到 db.json 文件中。但下次我运行程序时,旧数据将被删除并插入新数据。

但我想保留所有以前的数据和新数据。

index.js

在这里我得到以下结果

预期产出