小编Jav*_*nov的帖子

如何使强大的不保存到nodejs和express应用程序上的var/文件夹

我正在使用 formidable 解析传入文件并将其存储在 AWS S3 上

当我调试代码时,我发现 formidable 首先将其保存到磁盘的 /var/folders/ 中,并且随着时间的推移,一些不必要的文件会堆积在磁盘上,这可能会导致以后出现大问题。

我在没有完全理解代码的情况下使用代码是非常愚蠢的,现在

我必须弄清楚如何在将解析的文件保存到 S3 后删除它,或者将其保存到 s3 而不将其存储在磁盘中。但问题是我该怎么做?

如果有人能指出我正确的方向,我将不胜感激

这就是我处理文件的方式:

import formidable, { Files, Fields } from 'formidable';

const form = new formidable.IncomingForm();
form.parse(req, async (err: any, fields: Fields, files: Files) => {
let uploadUrl = await util
            .uploadToS3({
                file: files.uploadFile,
                pathName: 'myPathName/inS3',
                fileKeyName: 'file',
            })
            .catch((err) => console.log('S3 error =>', err));
}
Run Code Online (Sandbox Code Playgroud)

node.js express formidable

6
推荐指数
1
解决办法
2064
查看次数

如何在节点express js上动态更新mysql中的行

这就是我查询更新行的方式,它的工作原理是:

const [rows, meta] = await db.query(
        `
        UPDATE
            Portfolio
        SET
            title = ?,
            infoText = ?,
            devPeriod = ?,
            tags = ?
        WHERE
            id = ?
        `,
        [title, infoText, Number(devPeriod), tags, Number(portfolioId)]
    );
    return rows;
Run Code Online (Sandbox Code Playgroud)

但有时根据用户的需要,我必须查询以仅更新特定列。例如,用户可能只想编辑 devPeriod 或标签和 infoText。我怎样才能做到这一点?

mysql mariadb node.js express

2
推荐指数
1
解决办法
4696
查看次数

knex.js:orWhere 后跟多个 where 的组合

我正在使用 knex.js 编写查询,但我被 orWhere 困住了。

我需要这样的查询:

select 
    count(*) 
from 
    `Project` 
where 
    `Project`.`createdAt` >= '2019-11-12' 
and 
    `Project`.`createdAt` <= '2020-11-19' 
and 
    ((`Project`.`productType` = 1) 
or 
    (`Project`.`productType` = 2))
Run Code Online (Sandbox Code Playgroud)

但由于某种原因,这就是我得到的:

select 
    count(*) 
from 
    `Project` 
where 
    `Project`.`createdAt` >= '2019-11-12' 
and 
    `Project`.`createdAt` <= '2020-11-19' 
or 
    (`Project`.`productType` = 1) 
or 
    (`Project`.`productType` = 2)
Run Code Online (Sandbox Code Playgroud)

or请注意,我想要用两个 'and来代替第一个or

这是代码:

 builder.count('*')
.from('Project')
.where('Project.createdAt', '>=', '2019-11-12')
.where('Project.createdAt', '<=', '2019-11-19')
.orWhere({'Project.productType': 1})
.orWhere({'Project.productType': 2})
Run Code Online (Sandbox Code Playgroud)

将不胜感激任何帮助

mysql node.js node-mysql knex.js

1
推荐指数
1
解决办法
5819
查看次数

标签 统计

node.js ×3

express ×2

mysql ×2

formidable ×1

knex.js ×1

mariadb ×1

node-mysql ×1