Web-使用PostgreSQL与MongoDB

介绍PostgreSQL

         PostgreSQL 是一个强大的开源关系型数据库管理系统(RDBMS)。它具有高度的可靠性、稳定性和兼容性,可在多个操作系统上运行,如 Windows、macOS 和各种 Linux 发行版。

使用PostgreSQL进行工作

         在本节中,我们将演示如何安装PostgreSQL模块,这是一个用于MySQL的JavaScript客户端。使用pg模块,我们将连接到一个PostgreSQL数据库并执行通常的CRUD操作。

        打开终端并创建一个新项目。

mkdir postgreDB

        现在进入新创建的文件夹

cd postgreDB

        创建一个新的npm项目,这将创建一个package.json文件

npm init -y

        安装postgresql模块

npm install mysql

        现在创建一个名为app.js的新文件,写入以下代码

const { Client } = require('pg');

const client = new Client({
    host: 'localhost',
    user: 'postgres',
    database: 'secondDB',
    password: 'password',
    port: 3361,
});

client.connect();

        如果看到“Connected!”(连接成功)的消息,这意味着您已成功使用PostgreSQL模块创建了一个数据库连接。

创建表格

        使用 CREATE TABLE,在 PostgreSQL 中创建一个表格,并将其赋值给变量 query1。

const query1 = `
CREATE TABLE newusers2 (
  email varchar,
  firstName varchar,
  lastName varchar,
  age int
);
`;

        调用上面创建的 postgres 客户端的查询函数,并将 query1 作为参数来创建表格。

client.query(query1, (err, res) => {
    if (err) {
        console.error(err);
        return;
    }
    console.log('表格创建成功');
    client.end();
});

        这将显示消息 “表格创建成功”。

读取 PostgreSQL 数据库

        为了读取 PostgreSQL 数据库,创建一个查询并将其赋值给一个变量。

const query2 = `SELECT * FROM newusers2`;

        现在调用客户端的 query 方法,并发送我们刚创建的 query2 查询。

client.query(query2, (err, res) => {
    if (err) {
        console.error(err);
        return;
    }
    for (let row of res.rows) {
        console.log(row);
    }
    client.end();
});

        这将遍历结果的每一行,并将其打印到控制台上。最后,关闭客户端连接。

插入数据到 PostgreSQL 数据库

        为了将数据插入 PostgreSQL 数据库,创建一个变量来存储查询,如下所示:

const query3 = `INSERT INTO newusers2 (email, firstName, lastName, age) VALUES ('[email protected]', 'jane', 'doe', 19)`;

        现在调用客户端的 query 方法,并发送我们刚创建的 query3 查询。

client.query(query3, (err, res) => {
    if (err) {
        console.error(err);
        return;
    }
    console.log('数据插入成功');
    client.end();
});

        这将执行插入数据的操作。如果插入成功,会打印消息 “数据插入成功”。最后,通过 client.end() 关闭客户端连接。请确保在代码中正确设置了 PostgreSQL 客户端连接。

更新 PostgreSQL 数据库中的数据

        为了更新 PostgreSQL 数据库中的数据,创建一个变量来存储查询,如下所示:

const query4 = `UPDATE newusers2 SET age = 22 WHERE email = '[email protected]'`;

        现在调用客户端的 query 方法,并发送我们刚创建的 query4 查询。

client.query(query4, (err, res) => {
    if (err) {
        console.error(err);
        return;
    }
    console.log('数据更新成功');
    client.end();
});

        这将执行更新数据的操作。如果更新成功,会打印消息 “数据更新成功”。最后,通过 client.end() 关闭客户端连接。请确保在代码中正确设置了 PostgreSQL 客户端连接。

从 PostgreSQL 数据库中删除数据

        为了从 PostgreSQL 数据库中删除数据,创建一个变量来存储查询,如下所示:

const query5 = `DELETE FROM newusers2 WHERE email = '[email protected]'`;

        现在调用客户端的 query 方法,并发送我们刚创建的 query5 查询。

client.query(query5, (err, res) => {
    if (err) {
        console.error(err);
        return;
    }
    console.log('数据删除成功');
    client.end();
});

        这将执行删除数据的操作。如果删除成功,会打印消息 “数据删除成功”。最后,通过 client.end() 关闭客户端连接。请确保在代码中正确设置了 PostgreSQL 客户端连接。

介绍 MongoDB

        在这个模块中,你将了解 MongoDB,并学习如何使用 Node.js 连接到 MongoDB 数据库。

        MongoDB 是一个数据库引擎,可以运行高效的 NoSQL 数据库。MongoDB 的名称来源于单词 "humongous",因为它的主要目的是存储和处理大量数据。简而言之,MongoDB 的设计旨在支持大规模应用程序,它能够快速查询数据、存储数据和与数据交互,因此速度非常快,并且建立在 NoSQL 数据库的背后。与 SQL 世界类似,我们启动一个 MongoDB 服务器,并在其中拥有多个数据库。在 SQL 世界中,这样的数据库将包含多个表,而在 NoSQL MongoDB 世界中,存在多个集合(collections)。在每个集合中,我们不是拥有一条记录,而是拥有多个文档(documents)。MongoDB 是无模式(schema-less)的,即在一个文档容器中,条目的结构不需要相同。在 SQL 中是不同的,存在一个用户表,该用户表包含 ID、姓名等属性。在 MongoDB 中,情况不同,因为单个集合中可以包含任意类型的数据。尽管可能具有相似的结构,但并没有要求结构完全相同。这提供了更大的灵活性,使你的应用程序能够随着时间的推移而增长,并且能够在不遇到任何困难的情况下调整其数据需求。MongoDB 的文档视图与 JavaScript 对象表示法(JSON)类似。更准确地说,MongoDB 使用 JSON 来存储数据。MongoDB 实际上使用了一种称为 BSON 的二进制 JSON 格式,也就是说,在存储之前,它会将 JSON 在后台进行转换。

        接下来的部分将讨论 MongoDB 的安装。

安装 MongoDB

        MongoDB 也可用于 Windows、macOS 和 Linux。关于以下所有选项的详细说明可在文档 https://docs.mongodb.com/manual/administration/install-community 中找到。
        在 Windows 上安装 MongoDB:
        根据你所运行的 Windows 版本,可以在 https://docs.mongodb.org/manual/installation 上获得一些 Windows 的直接下载选项。
        在 macOS 上安装 MongoDB:
        在 macOS 上安装 MongoDB 最简单的方法是使用 Homebrew 包管理器,但如果你愿意,也可以选择手动安装 MongoDB。
        在 Linux 上安装 MongoDB:
        详细介绍了所有主流 Linux 发行版的软件包安装方式,可以在         https://docs.mongodb.org/manual/installation 找到。如果你使用的 Linux 版本没有 MongoDB 软件包可用,可以选择手动安装。
        以下链接是有关在 Windows 上安装 MongoDB 的教程:
https://www.mongodb.com/docs/manual/tutorial/install-mongodb-on-windows/

创建 MongoDB Schema

        创建一个名为 test-schema.js 的新文件,并包含以下代码。

const mongoose = require("mongoose");

const TestSchema = new mongoose.Schema({
  name: {
    type: String,
    required: true,
  },
  salary: {
    type: Number,
    default: 0,
  },
});

const Emp = mongoose.model("User", TestSchema);

module.exports = Emp;

        以上代码定义了一个名为 TestSchema 的 MongoDB Schema。它包含了两个字段:name 和 salary。name 字段是一个必填的字符串类型,salary 字段是一个默认值为 0 的数字类型。最后,我们使用 mongoose.model 方法将该 Schema 转为模型,其中 “User” 是模型的名称。

        通过导出 Emp 模型,我们可以在其他文件中引入并使用该模型来操作 MongoDB 数据库的文档。确保在使用此代码之前已经安装了 mongoose 模块,并且已经正确配置了数据库连接。

与 MongoDB 一起使用

        这个部分的目的是演示如何安装 MongoDB 模块,这是 MySQL 的 JavaScript 客户端。本文章将描述如何使用该模块连接到 MongoDB 数据库并执行常规的 CRUD 操作,接着讨论存储过程和转义用户输入。

        请打开终端并创建一个新项目:

mkdir mongodb-test && cd mongodb-test

        创建一个 package.json 文件:

npm init -y

        安装 mongodb 模块:

npm install mongodb

        创建一个 app.js 文件,并复制以下代码段(根据需要修改占位符):

const mongodb = require('mongodb');
const MongoClient = mongodb.MongoClient;

const username = "<mongodb username>";
const password = "<password>";
const cluster = "<cluster name>";
const dbname = "myFirstDatabase";

MongoClient.connect(
    `mongodb+srv://${username}:${password}@${cluster}.mongodb.net/${dbname}?retryWrites=true&w=majority`
)
    .then(client => {
      console.log('Connected!');
      // 在这里执行数据库操作
    })
    .catch(err => {
      console.log(err);
    });

        运行文件:

node app.js

        观察到 “Connected!” 消息。

        以上代码使用了 mongodb 模块来连接到 MongoDB 数据库。你需要提供你的 MongoDB 用户名、密码、集群名称和数据库名。连接成功后,你可以在 .then 回调函数中执行数据库操作。请确保在使用此代码之前已经安装了 mongodb 模块,并且已经正确配置了数据库连接。

猜你喜欢

转载自blog.csdn.net/qq_54813250/article/details/133719250