问题标签 [node-sqlite3]

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 回答
34 浏览

sqlite - 返回表中每个 id 的计数

我将 sqlite3 与我的 node.js API 一起使用。

我有一个结构如下的数据库表:

我想返回我的表中的 ID 计数,这样

是否有一个 sql 限定符我可以像这样使用 count ,或者这需要在 js 本身中完成吗?

这里的任何帮助都会很棒!

0 投票
1 回答
368 浏览

node.js - JSON 中无法识别密钥

我有以下我试图解析的 JSON。

这是我从我的 sqlite3 选择状态返回的结果。我正在做一个计数(颜色),它作为 JSON 中的键返回。然后,当我尝试使用 .count(colour) 引用该值时,我的节点应用程序失败,给我一个错误,即颜色未定义。请注意,引用 .id 工作得很好。

有没有人遇到过这个问题或可以提供任何帮助?

0 投票
1 回答
346 浏览

node.js - 如何让 Mocha 识别单元测试

我正在开发一个数据库模块,现在我正在努力让单元测试通过。最初我们使用 browserify,我们在测试中能够require(sqlite3)require(better-sqlite3)没有问题。我们已更改为 webpack,而 webpack 不处理需要本地节点模块,因此我们必须切换到non_webpack_require以让 webpack 加载数据库模块。

这很好用,除了 mocha 不知道是什么__non_webpack_require__并且未通过测试。所以我们发现我们必须通过 webpack 运行我们的单元测试才能让这一切正常工作。

听起来不错,我认为我可以正常工作,但是 mocha 现在无法识别任何测试。我运行的命令webpack test/*.test.js -o test/testBundle.js --module-bind js=node-loader -target node && mocha test/testBundle.js --file ../../systemjs/dist/system.js --require @babel/register

输出

没有通过测试,也没有任何失败测试的记录。如何让 mocha 查看单元测试?或者我还有其他方法可以解决这个问题吗?

编辑

我还尝试将所有测试重命名为something.a.js然后运行webpack test/*.a.js -o test/testBundle.test.js --config test/webpack.config.js && mocha --file ../../systemjs/dist/system.js --require @babel/register,因此捆绑包是唯一的 test.js 文件,因此 mocha 默认会在测试文件夹中查找 .test.js 文件。我仍然有同样的问题。

0 投票
2 回答
630 浏览

node.js - Return array of ids from sqlite3 database using node-sqlite3

I want to build an array of ids from a sqlite query using the node-sqlite3 library.

The console.log() statement prints an empty array. What am I doing wrong?

0 投票
0 回答
38 浏览

node-sqlite3 - 不能在 node-sqlite3 中执行此操作(使用 for 循环)

我需要使用 node-sqlite3 获得相同的结果,因为我想在 rest api 中使用它并且它需要是异步的。我怎样才能做到这一点?

当我在 for 循环中的 node-sqlite3 中尝试它时,结果总是随机的。我不明白为什么。请帮我。

我认为这与 node-sqlite3 的异步性有关。但后来我意识到我需要它是异步的。

在更好的sqlite3

0 投票
3 回答
194 浏览

node.js - Route returning empty array even though inserting into db seems to be working

I'm learning how to use Sqlite3 with Node, and I'm running into a strange issue. In componentWillMount() on my react front end's main App.js, I make an axios request to the route /all so I can populate a contact list.

What's weird is that, when I hit my other route, /add with a different axios request when I add a contact, it reaches my then() as such,

With a slight delay too, because I setState before making my axios request, which makes me think that the contact is added into the contacts table.

But when I access localhost:5000/all directly, I receive an empty array [] as the response. I'm not sure what's going on.

Here's my server.js


Edit:

I should note that when I navigate to /all I get this,

all

and when I try to post to /add, I get the error

Error [ERR_HTTP_HEADERS_SENT]: Cannot set headers after they are sent to the client

No where am I sending multiple responses though.

0 投票
2 回答
801 浏览

node.js - 删除后的 SQLite 回调

我正在尝试创建一个删除功能,并确认某些内容已被删除。如果未找到该行或将其删除,则当前代码行变量将返回空。

如果找不到,我想返回404,如果它真的被删除了,我想返回204。我如何区分它们?

我知道我可以在删除之前进行选择查询,但必须有更好的方法。

0 投票
1 回答
95 浏览

node.js - 如何安装 node-sqlite3,但跳过构建步骤并提供我自己的 sqlite3 构建?

我有兴趣了解如何安装node-sqlite3,但通过自己的预编译包提供sqlite3:我只想安装 Node 客户端并在安装过程中完全跳过构建阶段。

我怎样才能做到这一点?

推理:我打算在多个环境中测试模块,并且已经阅读了无数人在各种环境中构建问题的帖子,所以我宁愿自己手动编译。

0 投票
2 回答
304 浏览

javascript - 如何从express中的异步sqlite查询返回布尔值?

我正在尝试制作一些中间件来检查会话是否有效(意味着附加了登录用户)。为此,我将 sqlite3 用于节点。

我对javascript不太熟悉,所以我不知道该尝试什么。但是我尝试使用'await'查询来等待查询完成然后返回一些东西,但这只会让'Promise { undefined }'出现在控制台中。

这是运行查询的代码,我想返回 true 或 false(那些语句已经在那里),我不知道 return 语句是否在回调中工作(我认为这是一个回调)。DBmanager 返回一个工作数据库对象。

0 投票
0 回答
74 浏览

node.js - node-sqlite3 db 文件太大了

我对 node.js 比较陌生,并且很长时间没有使用英语。很抱歉事先表达了我的想法。

我目前正在使用 node-sqlite3 从 bitmex websocket 抓取比特币数据。已经大约 10 天了,我有 3,746,416 行占用了 162MB 的空间。空间不是问题,因为我在树莓派上添加了 640gb 硬盘。

但是 370 万行太大了,甚至无法从我的 windows pc 应用程序中读取。(用于 SQ LITE 的数据库浏览器)

所以我用谷歌搜索了“如何每天制作单独的数据库文件”之类的东西。但无济于事。

如何做到这一点?每天制作一个单独的数据库文件是个好主意吗?如果没有,有什么更好的解决方案?