node.js - 如何将数据库连接到 Angular Web 应用程序?

标签 node.js angular postgresql npm

我想在 Angular Web 应用程序中显示和编辑来自现有 PostgreSQL 数据库的数据。 我对 Angular 和东西完全陌生。 我已经下载了 pg 和 express。

查看此页面后:https://developer.mozilla.org/en-US/docs/Learn/Server-side/Express_Nodejs/mongoose 我想我需要 jugglingdb 将数据库连接到 Angular :https://npm.taobao.org/package/jugglingdbhttps://www.npmjs.com/package/connect-jugglingdb -> 更具体:Juggling-db with postgres: https://npm.taobao.org/package/jugglingdb-postgres

所以我创建了一个名为 postgres.js 的新文件:

var Schema = require('jugglingdb').Schema;
var schema = new Schema('postgres', {
    database: 'mydatabase',
    username: 'myusername',
    host: 'myhostname', //I don't use the local user
    port: XXXX,
    password: s.password,
    ssl: false
});

var Model = schema.define('Model', {
    realNumber: {type: Number, dataType: 'float'}
  }); 

然后我在这个答案的帮助下尝试了它:Restful Api express postgres database 所以我创建了一个名为“dbconnector.js”的文件

const express = require('express')
const bodyParser = require('body-parser')
const app = express()
const port = 1234

const db = require('./dbconnector')

// 'db' is exported from a file such as 
// dbconnector.js.
app.get('/things', db.getThings) 


//In dbconnector.js:
const Pool = require('pg').Pool
const pool = new Pool({
  user: 'myuser',
  host: 'myhost',
  database: 'mydb',
  password: 'mypassword',
  port: 5432,
})

const getThings = (request, response) => {
    pool.query('SELECT * FROM public.regulation', 
    (error, results) => 
    {
      if (error) {
        throw error
      }
      response.status(200).json(results.rows)
    })
  }

module.exports = {
 getThings
}

我已经搜索、阅读并尝试了很多教程。 但无论我尝试什么 - 我都无法在 Web 应用程序中显示数据库中的数据。 任何想法我将如何进行? 你知道完整的指南吗(连接数据库和显示数据?) 或者您有任何链接或提示吗?

编辑 发现这个非常有用的下载示例链接:https://grokonez.com/frontend/angular/angular-6/angular-6-httpclient-postgresql-node-js-express-sequelize-crud-apis-post-get-put-delete

最佳答案

Angular 应用程序通常在浏览器中运行,而您的数据库位于服务器上。简而言之,您通常通过为您的应用程序构建后端来将它们连接起来,该后端通过 API 向消费者公开任何所需的数据。

从您发布的链接看来,您正在使用 NodeJS 作为后端,因此您可以考虑使用 express 创建 RESTful API .

关于node.js - 如何将数据库连接到 Angular Web 应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57853681/

相关文章:

node.js - i18n 如何获取有关该语言的 cookie 信息

node.js - 找不到模块 'firebase-tools' 的声明文件

mysql - Rails4 - 列名不明确且没有此类列错误

r - 我如何在 RPostgreSQL 的 dbListTables() 函数中编写以获得与 PostgreSQL 的 native/dt *name_pattern* 命令相同的结果?

sql - 使用 if/else 列值,选择不同的表和列

javascript - react 导入语句

node.js - Nodejs socket.io中如何检测用户已关闭而不刷新浏览器窗口

javascript - 订阅派生类上的 Angular2 事件

angular - 未调用 RxJS5 finalize 运算符

angular - Ionic 与 Firebase 数据库 Ref 被多次调用