node.js

关注公众号 jb51net

关闭
首页 > 网络编程 > JavaScript > node.js > express连接mongoose

Nodejs使用express连接数据库mongoose的示例

作者:奶糖 肥晨

数据库并进行操作通常需要使用第三方库,其中最流行的是mongoose,本文主要介绍了Nodejs使用express连接数据库mongoose的示例,具有一定的参考价值,感兴趣的可以了解一下

前面需要准备的内容可看前面的文章:

Express框架搭建项目 node.js

简单用Nodejs + express 编写接口

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

先创建一个js文档

db.js文档

在这里插入图片描述

安装 MongoDB 驱动程序:

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

npm install mongoose

在这里插入图片描述

引入 MongoDB 模块:

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

const mongodb = require('mongoose');

在这里插入图片描述

设置数据库连接:

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

const mongoose = require('mongoose');

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

新建一个表试试

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将表传出去:

const mongoose = require('mongoose');

// 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页面接收一下:

const { User }= require('./db');

在这里插入图片描述

执行数据库操作:

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

// 在连接成功后执行数据库操作
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() 方法用于获取集合对象,然后可以使用该集合对象执行查询、插入、更新或删除操作。

关闭数据库连接:

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

// 关闭数据库连接
client.close();

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

到此这篇关于Nodejs使用express连接数据库mongoose的示例的文章就介绍到这了,更多相关express连接mongoose内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文