怎么使用Node连接mongodb

前端开发   发布日期:2025年02月09日   浏览次数:211

本篇内容主要讲解“怎么使用Node连接mongodb”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么使用Node连接mongodb”吧!

Mongoose 是一个 Node.js 包,提供了一个使用 mongo 数据库的接口。在应用程序中使用它是非常轻量级的 npm 包。 Mongoose 拥有所有方法集,可以连接和访问存储在 Mongo 数据库中的数据。

react-giant:一个react+next.js+mongodb的学习项目。

安装Mongoose库

这是 Node.js 项目开发必须的步骤之一,使用 npm 命令进行安装,在终端输入以下命令即可安装:

  1. npm install mongoose --save

连接 MongoDB

通常在使用数据库的时候,都需要先建立连接,通过以下方式建立连接:

  1. const mongoose = require("mongoose");
  2. const connectDb = async () => {
  3. await mongoose.connect("mongodb://localhost:27017/admin");
  4. };
  5. connectDb();

在上面的代码中,

  1. mongoose.connect()
函数用于建立到MongoDB的连接。第一个参数指定了MongoDB的连接URL,格式为
  1. mongodb://<host>:<port>/<database-name>?<options>
,其中
  1. <host>
指定MongoDB所在的主机名或IP地址,
  1. <port>
指定MongoDB的端口号,
  1. <database-name>
指定要连接的数据库的名称,
  1. <options>
是一些配置项,以参数的方式传递,如
  1. ?useNewUrlParser=true&useUnifiedTopology=true
。对于需要用户名和密码连接的数据库,则
  1. <host>
参数方式为
  1. username:password@127.0.0.1:27017

需要注意的是,mongoose 不同版本连接方式上有点区别,上述代码是在版本

  1. 7.0.2
可以正常使用。

定义模型和模式

在使用 Mongoose 时,通常需要先定义一个模型和对应的模式。模型是指 MongoDB 中的一个集合,而模式则指定了集合中每个文档的结构和字段。以下是一个简单的模式定义示例:

  1. const mongoose = require("mongoose");
  2. const userSchema = new mongoose.Schema({
  3. username: {
  4. type: String,
  5. required: true,
  6. },
  7. email: {
  8. type: String,
  9. required: true,
  10. unique: true,
  11. maxlength: [255, "Email length must be at most 255"],
  12. },
  13. ip: {
  14. type: String,
  15. required: true,
  16. },
  17. });
  18. const User = mongoose.model("User", userSchema);

CRUD操作

在定义了模型和模式之后,就可以使用模型进行 CRUD(创建、读取、更新、删除)操作。以下是一些常用的示例代码:

  1. const mongoose = require("mongoose");
  2. // 创建记录
  3. async function createUsers() {
  4. const result = await User.create({
  5. username: "Quintion",
  6. email: "quintiontang@gmail.com",
  7. ip: "127.0.0.1",
  8. });
  9. return result;
  10. }
  11. // 查询文档列表
  12. async function getUsers() {
  13. const users = await User.find();
  14. return users;
  15. }
  16. // 查询单个
  17. async function getUser() {
  18. const user = await User.find({
  19. username: "Quintion",
  20. });
  21. return user;
  22. }
  23. // 删除记录
  24. async function deleteUser() {
  25. return await User.remove({
  26. username: "Quintion",
  27. });
  28. }

以上就是怎么使用Node连接mongodb的详细内容,更多关于怎么使用Node连接mongodb的资料请关注九品源码其它相关文章!