Nodejs 如何连接 mongodb?

本文涉及的产品
云数据库 MongoDB,通用型 2核4GB
简介: 笔记

80.png

要使用 Node.js 连接 MongoDB,通常使用 Mongoose 这个对象文档模型(ODM)库。下面就来简单介绍一下使用 Mongoose 连接 MongoDB 的方法。

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

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


安装Mongoose库


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

npm install mongoose --save


连接 MongoDB


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

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

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

需要注意的是,mongoose 不同版本连接方式上有点区别,上述代码是在版本 7.0.2 可以正常使用。


定义模型和模式


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

const mongoose = require("mongoose");
const userSchema = new mongoose.Schema({
    username: {
        type: String,
        required: true,
    },
    email: {
        type: String,
        required: true,
        unique: true,
        maxlength: [255, "Email length must be at most 255"],
    },
    ip: {
        type: String,
        required: true,
    },
});
const User = mongoose.model("User", userSchema);

CRUD操作


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

const mongoose = require("mongoose");
// 创建记录
async function createUsers() {
    const result = await User.create({
        username: "Quintion",
        email: "quintiontang@gmail.com",
        ip: "127.0.0.1",
    });
    return result;
}
// 查询文档列表
async function getUsers() {
    const users = await User.find();
    return users;
}
// 查询单个
async function getUser() {
    const user = await User.find({
        username: "Quintion",
    });
    return user;
}
// 删除记录
async function deleteUser() {
    return await User.remove({
        username: "Quintion",
    });
}

上述代码只是一个简单的示例,如果需要一个完整的可运行的代码,可以查看下面的项目:

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


相关实践学习
MongoDB数据库入门
MongoDB数据库入门实验。
快速掌握 MongoDB 数据库
本课程主要讲解MongoDB数据库的基本知识,包括MongoDB数据库的安装、配置、服务的启动、数据的CRUD操作函数使用、MongoDB索引的使用(唯一索引、地理索引、过期索引、全文索引等)、MapReduce操作实现、用户管理、Java对MongoDB的操作支持(基于2.x驱动与3.x驱动的完全讲解)。 通过学习此课程,读者将具备MongoDB数据库的开发能力,并且能够使用MongoDB进行项目开发。 &nbsp; 相关的阿里云产品:云数据库 MongoDB版 云数据库MongoDB版支持ReplicaSet和Sharding两种部署架构,具备安全审计,时间点备份等多项企业能力。在互联网、物联网、游戏、金融等领域被广泛采用。 云数据库MongoDB版(ApsaraDB for MongoDB)完全兼容MongoDB协议,基于飞天分布式系统和高可靠存储引擎,提供多节点高可用架构、弹性扩容、容灾、备份回滚、性能优化等解决方案。 产品详情: https://www.aliyun.com/product/mongodb
相关文章
|
18天前
|
JSON NoSQL MongoDB
mongodb 命令行连接及基础命令
mongodb 命令行连接及基础命令
|
2月前
|
NoSQL Java MongoDB
java 连接mongodb的样例代码
java 连接mongodb的样例代码
|
2月前
|
NoSQL JavaScript 前端开发
深入浅出:使用Node.js和MongoDB构建RESTful API
在当今的软件开发领域,构建高效、可扩展的Web服务已成为开发者的重要任务之一。本文将引导读者通过现代JavaScript环境——Node.js,搭配流行的NoSQL数据库MongoDB,一步步构建一个RESTful API。不同于常规的摘要,我们将采用故事化的方式,通过一个虚构的应用“BookFinder”的开发旅程,带领读者理解API设计、数据库交互及安全性考量等关键知识点。无论你是前端工程师希望深化后端知识,还是后端新手寻求实践机会,本文都将提供你所需的指南和启示。
|
2月前
|
资源调度 JavaScript 关系型数据库
Node.js【文件系统模块、路径模块 、连接 MySQL、nodemon、操作 MySQL】(三)-全面详解(学习总结---从入门到深化)
Node.js【文件系统模块、路径模块 、连接 MySQL、nodemon、操作 MySQL】(三)-全面详解(学习总结---从入门到深化)
33 0
|
3月前
|
NoSQL JavaScript 数据库连接
超级实用!详解Node.js中的mongodb模块和socket.io模块
超级实用!详解Node.js中的mongodb模块和socket.io模块
|
3月前
|
JavaScript 关系型数据库 MySQL
百度搜索:蓝易云【Node.js写接口连接MySQL数据库教程】
现在,你的Node.js应用已经启动,可以通过访问 `http://localhost:3000/users`来获取所有用户的信息。注意替换上述代码中的数据库连接信息为你自己的实际数据。
50 0
|
3月前
|
资源调度 JavaScript 关系型数据库
Node.js【文件系统模块、路径模块 、连接 MySQL、nodemon、操作 MySQL】(三)-全面详解(学习总结---从入门到深化)(下)
Node.js【文件系统模块、路径模块 、连接 MySQL、nodemon、操作 MySQL】(三)-全面详解(学习总结---从入门到深化)
20 0
|
3月前
|
JavaScript 关系型数据库 MySQL
Node.js【文件系统模块、路径模块 、连接 MySQL、nodemon、操作 MySQL】(三)-全面详解(学习总结---从入门到深化)(上)
Node.js【文件系统模块、路径模块 、连接 MySQL、nodemon、操作 MySQL】(三)-全面详解(学习总结---从入门到深化)
34 0
|
3月前
|
存储 NoSQL MongoDB
学习如何使用 Python 连接 MongoDB: PyMongo 安装和基础操作教程
Python 需要一个 MongoDB 驱动程序来访问 MongoDB 数据库。我将使用 MongoDB 驱动程序 PyMongo 建议您使用 PIP 来安装 PyMongo。PIP 很可能已经安装在您的 Python 环境中。将命令行导航到 PIP 的位置,然后键入以下内容:
95 1
|
3月前
|
存储 NoSQL 安全
go 连接mongodb执行查询的代码
在Go语言中,你可以使用官方的MongoDB驱动程序 `"go.mongodb.org/mongo-driver/mongo"` 来连接MongoDB并执行查询。以下是一个简单的示例代码,演示如何连接MongoDB并执行查询: 首先,确保你已经安装了MongoDB驱动程序: ```bash go get go.mongodb.org/mongo-driver/mongo ``` 然后,可以使用以下示例代码: ```go package main import ( "context" "fmt" "log" "time" "go.mongodb.org/mongo-driv