postgresql 我的EXTINTO命令不起作用,你知道为什么我的代码?

r7s23pms  于 5个月前  发布在  PostgreSQL
关注(0)|答案(1)|浏览(54)

我正在创建一个待办事项列表应用程序来处理数据库。我在以前的基础上工作,可以在添加后立即显示任务。但是如果您重新启动节点服务器,数据不会保存。逻辑。
例如,如果你输入一个任务并添加它,它会显示任务但不会保存它。
这就是依赖关系:

const express = require("express");
const ejs = require("ejs");
const jQuery = require("jquery");
const bodyParser = require("body-parser");
const pg = require("pg");

字符串
我很确定问题出在db声明上。这是连接:

const db = new pg.Client({
    host: "localhost",
    port: dbPort,
    user: "postgres",
    password: "postgres",
    database: "todolist"
})


这是一条邮递路线(可能缺少了一个Await/Await):

app.post("/submit", (req, res) => {

    let toDo = new Date(req.body.toDo).toDateString();
    console.log(toDo);

    const task = {
        title: req.body.title,
        toDo: toDo,
        done: false
    }
    tasks.push(task)
    console.log(tasks[0].title);

    try {
        db.query('INSERT INTO tasks (task_name) VALUES ($1)', [tasks[0].title.toString()]) // try function is on, but doesn't insert data.
        console.log("Data inserted.")
    } catch (error) {
        console.log(error);
    }

    res.render("index.ejs", {
        tasks: tasks,
    })

});


在try/catch语句中,“Data inserted.”console.log()起作用,这意味着它试图添加到数据库,但我不明白为什么在Postgre Admin上看不到它。
repo在这里:https://github.com/sambarnades/todo/tree/develop
希望有人能帮助我!谢谢!
我试着用PostgreSQL添加数据库功能。

yzckvree

yzckvree1#

找到了这个解决方案:

import express from "express";
import ejs from "ejs";
import jQuery from "jquery";
import bodyParser from "body-parser";
import pg from 'pg';

const client = new pg.Client({
  user: "postgres",
  host: "localhost",
  database: "todolist",
  password: "postgres",
  port: 5432,
});
client.connect();

app.post("/submit", async (req, res) => {
  let toDo = new Date(req.body.toDo).toDateString();

  const newTask = [
    req.body.title,
    toDo,
    false
  ]

  const query = await client.query('INSERT INTO tasks (task_name, to_do_date, done) VALUES ($1, $2, $3);', newTask);

  res.redirect("/")
});

字符串
好用!谢谢帮忙!

相关问题