使用Nodejs + express连接数据库mongodb

文章目录


前面需要准备的内容可看前面的文章:
Express框架搭建项目 node.js
简单用Nodejs + express 编写接口

连接 MongoDB 数据库需要使用 Node.js 的 MongoDB 驱动程序。在 Express 应用程序中使用 MongoDB 驱动程序时,需要执行以下步骤

先创建一个js文档

db.js文档

安装 MongoDB 驱动程序:

在你的项目目录下使用 npm 或 yarn 安装 MongoDB 驱动程序。

bash 复制代码
npm install mongodb

引入 MongoDB 模块:

在 Express 应用程序的文件中引入 MongoDB 模块。

javascript 复制代码
const mongodb = require('mongodb');

设置数据库连接:

创建一个 MongoDB 客户端,并通过客户端连接到 MongoDB 数据库。

javascript 复制代码
const mongoose = require('mongodb');




// MongoDB 连接字符串,包括数据库地址和名称
mongoose.connect('mongodb://localhost:27017/mydatabase')
    .then(() => {
        console.log('Connected to the database');
    })
    .catch((err) => {
        console.error('Failed to connect to the database:', err);
    });

在上面的代码中,uri 变量包含了 MongoDB 数据库的连接字符串,其中包括数据库地址和名称。然后,创建一个新的 mongoose 实例,并通过 connect() 方法连接到数据库。在连接成功后,可以执行数据库操作,例如查询、插入、更新或删除文档。

新建一个表试试

csharp 复制代码
const userValue =new mongoose.Schema({
    name: String,
    age: Number,
    email: String,
    password: String,
    phone: String,
    address: String,
    gender: String,
    dob: Date,
    createdAt: { type: Date, default: Date.now },
    updatedAt: { type: Date, default: Date.now }
});

const User = mongoose.model('User', userValue);

在上面的代码中,先声明一个表的格式。使用new mongooseSchema函数,内容为需要保存的字段。

再使用module.exports将表传出去:

csharp 复制代码
const mongoose = require('mongodb');




// MongoDB 连接字符串,包括数据库地址和名称
mongoose.connect('mongodb://localhost:27017/mydatabase')
    .then(() => {
        console.log('Connected to the database');
    })
    .catch((err) => {
        console.error('Failed to connect to the database:', err);
    });

const userValue =new mongoose.Schema({
    name: String,
    age: Number,
    email: String,
    password: String,
    phone: String,
    address: String,
    gender: String,
    dob: Date,
    createdAt: { type: Date, default: Date.now },
    updatedAt: { type: Date, default: Date.now }
});

const User = mongoose.model('User', userValue);

module.exports = { User };

再使用index页面接收一下:

csharp 复制代码
const { User }= require('./db');

执行数据库操作:

在连接成功后,可以在回调函数中执行数据库操作。

javascript 复制代码
// 在连接成功后执行数据库操作
client.connect(err => {
  if (err) {
    console.error('Failed to connect to the database:', err);
    return;
  }
  console.log('Connected successfully to the database');

  const db = client.db();

  // 查询所有文档
  db.collection('mycollection').find().toArray((err, docs) => {
    if (err) {
      console.error('Error fetching documents:', err);
      return;
    }
    console.log('Documents:', docs);
  });

  // 插入文档
  db.collection('mycollection').insertOne({ name: 'John', age: 30 }, (err, result) => {
    if (err) {
      console.error('Error inserting document:', err);
      return;
    }
    console.log('Document inserted:', result.insertedId);
  });

  // 更新文档
  db.collection('mycollection').updateOne({ name: 'John' }, { $set: { age: 35 } }, (err, result) => {
    if (err) {
      console.error('Error updating document:', err);
      return;
    }
    console.log('Document updated:', result.modifiedCount);
  });

  // 删除文档
  db.collection('mycollection').deleteOne({ name: 'John' }, (err, result) => {
    if (err) {
      console.error('Error deleting document:', err);
      return;
    }
    console.log('Document deleted:', result.deletedCount);
  });
});

在上面的代码中,db.collection() 方法用于获取集合对象,然后可以使用该集合对象执行查询、插入、更新或删除操作。

关闭数据库连接:

在完成数据库操作后,记得关闭数据库连接,释放资源。

javascript 复制代码
// 关闭数据库连接
client.close();

这样,你的 Express 应用程序就可以连接到 MongoDB 数据库并执行数据库操作了。记得根据你的实际需求修改连接字符串和数据库操作。

您好,我是肥晨。

欢迎关注我获取前端学习资源,日常分享技术变革,生存法则;行业内幕,洞察先机。

相关推荐
c238561 小时前
MySQL 基础用法(上):库表管理与数据增删改
c语言·数据库·c++·mysql
jnrjian2 小时前
postgres database 更换用户
数据库·postgresql
無a伟3 小时前
redis缓存完整详解
数据库·redis·缓存
G31135422734 小时前
大模型不可用时,业务还能不能继续:企业需要设计降级方案
大数据·服务器·数据库·人工智能·深度学习
VALENIAN瓦伦尼安教学设备5 小时前
激光对中仪采购要点
数据库·嵌入式硬件·算法
码农颜5 小时前
5.2.2 隔离级别
数据库·mysql
微三云 - 廖会灵 (私域系统开发)5 小时前
基于 OPC 流程控制的抖店集群 SaaS 平台设计与渠道分账系统实现
数据库
骇客野人6 小时前
MySQL 信创化迁移至 PolarDB-X 整体实施方案
数据库·mysql
计科土狗7 小时前
GESP六级专题之类与对象
java·前端·数据库
麦聪聊数据7 小时前
数据治理 ROI(下):算清投入产出比,小切口落地快速验证价值
数据库