MongoDB 是一种非关系型的 NoSQL 数据库,它是使用 JSON-like 的文档来存储数据的。它的灵活性和可扩展性使得它是一个非常流行的数据库解决方案。在 Node.js 中,我们可以使用 mongodb 模块来连接 MongoDB 数据库并使用它的 API。
本教程将会向你展示使用 Node.js 和 MongoDB 的基本知识和例子。我们将学习如何连接和操作 MongoDB 数据库。如果你已经有 Node.js 和 MongoDB 的基础知识,你可以直接跳到相关的部分。
安装和设置
首先,你需要在你的本地安装 MongoDB。你可以在 https://www.mongodb.com/download-center 下载 MongoDB Community Server 的最新版本。下载完成后,请按照说明进行安装和设置。
在 Node.js 中,我们需要使用 mongoose 模块来连接和操作 MongoDB 数据库。在你的项目中,使用以下命令安装 mongoose:
$ npm install mongoose
连接数据库
连接 MongoDB 数据库非常简单。使用以下代码创建一个 mongoose 的连接:
-- -------------------- ---- ------- ----- -------- - -------------------- -------------------------------------------------- - ---------------- ----- ------------------- ---- ---------- -- - -------------------- ------------- ------------ -- - -------------------- ---------- -- --------- ----- ---
在这里,我们使用 mongoose.connect()
函数来连接本地 MongoDB 数据库。我们把连接字符串作为第一个参数传递给该函数。如果数据库连接成功,我们将在控制台上看到 "MongoDB connected!" 的消息;否则,我们将看到一个错误消息。
定义模式和模型
在 MongoDB 中,我们将使用文档来存储数据。文档的结构是由模式定义的。在 Node.js 中,我们使用 mongoose 模块来定义模式和模型。
定义一个模式非常简单,我们只需要创建一个包含文档属性的对象即可。以下是一个例子:
-- -------------------- ---- ------- ----- -------- - -------------------- ----- --------- - --- ----------------- ------ ------- ------ ------- ----- ------ --- ----- --- - --------------------- ----------- -------------- - ----
在这里,我们创建了一个名称为 "carSchema" 的模式,它由三个属性组成:brand、model 和 year。我们使用 mongoose.model()
函数来定义模型。模型名称为 "Car",它将会自动映射到 "cars" 项集合,因为我们将其传递给了模型名称参数的小写版。
最后,我们导出了我们的模型,让其他文件可以使用它。
插入数据
插入数据是 MongoDB 的基本操作之一。使用以下代码向数据库中插入一条新记录:
-- -------------------- ---- ------- ----- -------- - -------------------- ----- --- - -------------------- -- --------- ----- ------ - --- ----- ------ --------- ------ ---------- ----- ---- --- ---------------------- -- - ---------------- -------- ----- ------------ -- - -------------------- ------ ------ ----- ---
在这里,我们首先导入了之前定义的模型。然后,我们创建了一个新的 Car
实例,并将其保存到数据库中。在 save()
函数的回调函数中,我们将查看保存的记录。
查询数据
查询数据是 MongoDB 的另一个基本操作。使用以下代码查询数据库并找到第一条符合条件的记录:
const mongoose = require('mongoose'); const Car = require('./car.js'); // 导入之前定义的模型 Car.findOne({brand: 'Toyota'}).then(car => { console.log('Car found:', car); }).catch(err => { console.error('Error finding car:', err); });
在这里,我们使用 Car.findOne()
函数来查询数据库并查找第一条符合条件的记录。在这个例子中,我们查找了品牌为 "Toyota" 的车辆。在查询的回调函数中,我们将看到查询结果。
更新数据
更新数据是 MongoDB 的另一个基本操作。使用以下代码更新数据库中的一个记录:
const mongoose = require('mongoose'); const Car = require('./car.js'); // 导入之前定义的模型 Car.findOneAndUpdate({model: 'Corolla'}, {year: 2021}).then(car => { console.log('Car updated:', car); }).catch(err => { console.error('Error updating car:', err); });
在这里,我们使用 Car.findOneAndUpdate()
函数来更新符合条件的第一条记录。在这个例子中,我们更新了 Model 为 "Corolla" 的车辆的年份。在更新的回调函数中,我们将看到更新的记录。
删除数据
删除数据是 MongoDB 的最后一个基本操作。使用以下代码从数据库中删除一个记录:
const mongoose = require('mongoose'); const Car = require('./car.js'); // 导入之前定义的模型 Car.deleteOne({model: 'Corolla'}).then(car => { console.log('Car deleted:', car); }).catch(err => { console.error('Error deleting car:', err); });
在这里,我们使用 Car.deleteOne()
函数来删除符合条件的第一条记录。在这个例子中,我们删除了 Model 为 "Corolla" 的车辆。在删除的回调函数中,我们将看到删除的记录。
总结
在本教程中,我们学习了如何连接 MongoDB 数据库并使用它的 API。我们定义了模式和模型、插入数据、查询数据、更新数据和删除数据等基本操作。这些操作可以帮助你开始使用 MongoDB 和 Node.js 开发你的应用程序。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/6450d870980a9b385b9bc8c8