MongoDB 是一种基于文档的 NoSQL 数据库,其非常适合用于处理大量数据。同时,Mongoose 是一个优秀的 Node.js 的 ODM 框架,可以帮助我们更加便捷地使用 MongoDB 数据库。在这篇文章中,我们将深度剖析 MongoDB 与 Mongoose,并为您提供学习和指导意义。
MongoDB
MongoDB 是一个可扩展的高性能、开源、面向文档的 NoSQL 数据库。由于其易于使用和快速迭代开发,它已经成为开发人员的首选。它采用 Bson 格式存储数据,支持索引、复杂查询等功能。此外,MongoDB 还具有很好的扩展性,容易在大型集群中运行。
安装 MongoDB
要安装 MongoDB,您可以按照以下步骤进行:
下载 MongoDB:在 MongoDB 官网上下载安装文件。
安装 MongoDB:将 MongoDB 安装在您的本地机器上,可以使用默认设置,也可以根据需要自定义设置。
启动 MongoDB:打开命令行,输入命令
mongod
来启动 MongoDB 服务。
数据库和集合
MongoDB 中数据的存储结构非常灵活,其中的所有数据存储在称为“集合”(Collection)的文档中。集合是持久化的,与关系型数据库中的表类似。每个集合都有自己的名称,每个文档都从一个唯一的 _id
字段开始。 MongoDB 中的数据模型是文档模型,它采用了类似 JSON 的文档格式来存储数据。
CRUD 操作
MongoDB 中的 CRUD 操作是指 Create(创建)、Read(读取)、Update(更新)和 Delete(删除)这四个基本操作。以下是这些操作的代码示例:
-- -------------------- ---- ------- -- -- ------- - ----- - ----------- - - ------------------- -- -- ------- ------ ----- --- - --------------------------- ----- ------ - ------- ----- ------ - --- ---------------- - ---------------- ---- --- ---------------------------- - ----- -- - ------------------ -- ------ ---------------------------------- ----- -------- ---- -- -- ----- ---- -- - -- ----- ----- ---- -------------- ---- ----------- --- -- ---- --------------------------------------------- ---------- -- ----- ----- ---- -------------------- --- -- ------ ---------------------------------- ------------ -- - ----- - ---- -- - -- ----- ---------- -- ----- ----- ---- -------------- -------- ---------- --- -- ------ --------------------------------------- --------- ----- ---------- -- ----- ----- ---- -------------- -------- ---------- -- -- ------- --------------- ---展开代码
Mongoose
Mongoose 是一个优秀的 Node.js 的 ODM 框架,可以帮助我们更加便捷地使用 MongoDB 数据库。
安装 Mongoose
要安装 Mongoose,可以使用 npm 命令:
npm install mongoose
连接到 MongoDB
在使用 Mongoose 之前,需要与 MongoDB 建立连接。这可以通过以下方式完成:
// 引入 mongoose const mongoose = require('mongoose'); // 连接 MongoDB,使用指定的 URL、选项和回调函数 const url = 'mongodb://127.0.0.1:27017/test'; mongoose.connect(url, { useNewUrlParser: true }) .then(() => console.log('连接成功')) .catch((err) => console.log(err))
定义集合
在 Mongoose 中,每个集合都是一个模型(Model)。该模型定义了集合中的文档结构、默认值、验证规则等等。以下是一个示例:
-- -------------------- ---- ------- -- -- -------- ----- -------- - -------------------- -- -- ---------- ----- ---------- - --- ----------------- ----- ------- ---- ------- ------ ------- ---------- - ----- ----- -------- -------- - --- -- -- ---- -- -------------- - ---------------------- ------------展开代码
在此示例中,我们使用 mongoose.Schema
定义了一个名为 UserSchema
的集合。集合中包含了 name、age、email 和 createdAt 属性。其中,createdAt 属性默认为创建时间。我们使用 mongoose.model
方法将集合和模型绑定在一起,并将它们导出供其他文件使用。
CRUD 操作
通过定义集合的模型,我们可以使用 Mongoose 来进行 CRUD 操作。以下是这些操作的代码示例:
-- -------------------- ---- ------- -- -- ---- -- ----- ---- - ------------------------- -- ------ ----- ---- - --- ------ ----- -------- ---- --- ------ ------------------- --- ----------- -------- -- - -------------------- -- ------------ -- - ----------------- --- -- ---- ------------- ------------- -- - ------------------- -- ------------ -- - ----------------- --- -- ------ ---------------- ----- ------- -- - ----- - ---- -- - -- -------- -- - -------------------- -- ------------ -- - ----------------- --- -- ------ ---------------- ----- ------- -- -------- -- - -------------------- -- ------------ -- - ----------------- ---展开代码
总结
在这篇文章中,我们深度剖析了 MongoDB 和 Mongoose。您应该能够了解到 MongoDB 提供的数据存储结构、CRUD 操作和高可扩展性。同时,Mongoose 可以帮助我们更加便捷地使用 MongoDB 数据库,使用它进行 CRUD 操作,还可以定义集合的模型。我们希望这篇文章能够帮助您更加深入地了解 MongoDB 和 Mongoose,并体验到它们的强大特性。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/65a8f909add4f0e0ff23fed8