21xrx.com
2024-12-22 21:20:43 Sunday
登录
文章检索 我的文章 写文章
Node.js数据库操作入门
2023-07-08 04:26:23 深夜i     --     --
Node js 数据库 操作 入门 CRUD

如果你想开发Web应用程序并且需要使用数据库来存储数据,那么Node.js就是一个非常好的选择。Node.js提供了一套强大的数据库操作API,可以方便地操作多种类型的数据库,如MySQL、PostgreSQL、MongoDB等。在这篇文章中,我们将会介绍如何在Node.js中进行数据库操作。

第一步是安装Node.js的相关库。Node.js有很多数据库操作相关的库,我们这里介绍两个比较流行的:mongoose和mysql。前者用于操作MongoDB数据库,后者则用于操作MySQL数据库。

安装mongoose:

使用npm命令安装:


npm install mongoose --save

安装mysql:

使用npm命令安装:


npm install mysql --save

第二步是连接数据库。对于mongoose来说,连接数据库非常简单,只需要在程序中使用connect方法连接即可。示例代码如下:


const mongoose = require('mongoose');

const MONGO_URI = 'mongodb://localhost/test';

mongoose.connect(MONGO_URI, { useNewUrlParser: true }).then(() => {

 console.log('Mongodb connected');

}).catch(err => {

 console.log('Mongodb error:', err);

});

对于mysql来说,先需要创建一个连接,并且指定连接的数据库信息。示例代码如下:


const mysql = require('mysql');

const connection = mysql.createConnection(

 user: 'root');

connection.connect(function(err) {

 if (err) {

  console.error('Mysql error:', err);

 } else {

  console.log('Mysql connected');

 }

});

第三步是进行数据库操作。这里我们分别介绍mongoose和mysql的基本操作。

对于mongoose来说,我们需要先定义Schema(模式),再定义Model(模型),然后可以进行CRUD(增删改查)操作。示例代码如下:


const mongoose = require('mongoose');

const UserSchema = new mongoose.Schema(

 age: Number

);

const UserModel = mongoose.model('User', UserSchema);

// 增

const user = new UserModel(

 age: 18

);

user.save();

// 删

UserModel.deleteOne({ name: 'Tom' });

// 改

UserModel.updateOne({ name: 'Tom' }, { age: 20 });

// 查

UserModel.find({ name: 'Tom' });

对于mysql来说,我们先需要创建一个表,然后可以进行CRUD操作。示例代码如下:


const mysql = require('mysql');

const connection = mysql.createConnection(

 user: 'root');

connection.connect(function(err) {

 if (err) {

  console.error('Mysql error:', err);

 } else {

  console.log('Mysql connected');

 }

});

// 增

const addSql = 'INSERT INTO user(name, age) VALUES(?,?)';

const addSqlParams = ['Tom', 18];

connection.query(addSql, addSqlParams, function(err, result) {

 if (err) {

  console.error('Mysql error:', err);

 } else {

  console.log('Mysql result:', result);

 }

});

// 删

const deleteSql = 'DELETE FROM user WHERE name = ?';

const deleteSqlParams = ['Tom'];

connection.query(deleteSql, deleteSqlParams, function(err, result) {

 if (err) {

  console.error('Mysql error:', err);

 } else {

  console.log('Mysql result:', result);

 }

});

// 改

const updateSql = 'UPDATE user SET age = ? WHERE name = ?';

const updateSqlParams = [20, 'Tom'];

connection.query(updateSql, updateSqlParams, function(err, result) {

 if (err) {

  console.error('Mysql error:', err);

 } else {

  console.log('Mysql result:', result);

 }

});

// 查

const selectSql = 'SELECT * FROM user WHERE name = ?';

const selectSqlParams = ['Tom'];

connection.query(selectSql, selectSqlParams, function(err, result) {

 if (err) {

  console.error('Mysql error:', err);

 } else {

  console.log('Mysql result:', result);

 }

});

综上所述,Node.js提供了非常简单易用的数据库操作API,无论是MongoDB还是MySQL,都可以轻松地操作。如果你想学习更多关于Node.js的数据库操作,建议阅读官方文档或者相关的书籍。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复