javascript - 写入数组时出现错误

标签 javascript node.js

我有一个记录工作数据的功能。然后我将此数组插入到请求中。

async function setJobs(jobs) {
    const insertFieldsOfJob = [];
    for (const key of jobs) {
        const jobFields = [
            `'${key.job_id}'`,
            `'${key.description}'`,
            `'${key.verified}'`,
            `'${key.amount}'`,`,
            `'${key.title}'`,
            `'${key.ctime}'`,
        ];
        insertFieldsOfJob.push(`(${jobFields})`);
    };
    const jobsIds = (await db.query(Jobs.writeJobs(insertFieldsOfJob))).rows;
    return jobsIds;
};

这里我正在写入工作详细信息数据库

class Job {
    static writeJobs(jobsDetails) {
        const sql = `INSERT INTO JOBS (JOB_ID, DESCRIPTION, VERIFIED, AMOUNT, TITLE, CTIME) 
                VALUES 
                    ${jobsDetails} 
                        RETURNING ID`
        return sql;
    }
}

module.exports = Job;

我获取数据

jobs {
    job_id: 1,
    description: test,
    verified: false,
    amount: 500.00,
    title: test,
    ctime: 1564461408000,
}

我收到错误

error: invalid integer value: "500.00"
error: the value "1564461408000" is out of range for type integer

为什么会发生这种情况?我将对象的属性称为字符串。

最佳答案

尝试使用 String() 并删除一些括号。

async function setJobs(jobs) {
    const insertFieldsOfJob = [];
    for (const key of jobs) {
        const jobFields = [
            `${String(key.job_id)}`,
            `${String(key.description)}`,
            `${String(key.verified)}`,
            `${String(key.amount)}`,
            `${String(key.title)}`,
            `${String(key.ctime)}`,
        ];
        insertFieldsOfJob.push(`${jobFields}`);
    };
    const jobsIds = (await db.query(Jobs.writeJobs(insertFieldsOfJob))).rows;
    return jobsIds;
};

关于javascript - 写入数组时出现错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57264686/

相关文章:

javascript - 扩展/合并对象

javascript - 我不明白为什么我的 nodejs/javascript 正则表达式不工作

javascript - Sails.js - 如何从 Controller 渲染部分?

node.js - 我可以在 express 中使用 Flatiron 的足智多谋吗?

javascript - Moment Timezone 返回正确的时区但拼写错误

特定网页的 javascript

javascript - Livescript,如何结束未嵌套的回调?

javascript - const fs = require ("fs") 在 Node js 上无法正常工作

javascript - 如何将多个css文件添加到CKEditor编辑区

javascript - b3dm 和 pnts 文件是如何生成的