介绍
Express.js 是一个流行的 Node.js Web 框架,用于构建 Web 应用程序。Mongoose 是 Node.js 的对象文档映射器(ODM),它提供一种简单、明显的方法来封装在 Node.js 中使用 MongoDB 的数据操作。在这篇文章中,我们将会深入了解如何在 Express.js 中使用 Mongoose 来连接 MongoDB 数据库。
安装
在开始使用 Mongoose 前,我们需要先安装它。我们可以使用 NPM 来安装 Mongoose。
npm install mongoose
接下来,我们需要在 Express.js 中使用 Mongoose。
const mongoose = require('mongoose');
连接 MongoDB
在连接 MongoDB 数据库之前,我们需要先启动 MongoDB 服务。在启动 MongoDB 服务之后,我们可以使用以下代码来连接 MongoDB。
mongoose.connect('mongodb://localhost/test', { useNewUrlParser: true, useUnifiedTopology: true, });
这段代码将会直接连接到名为 test 的本地 MongoDB 数据库。在连接成功之后,我们可以通过检查 mongoose.connection 对象的 readyState 属性来检查连接的状态。
const db = mongoose.connection; db.on('error', console.error.bind(console, 'connection error:')); db.once('open', function () { console.log('Connected to the database!'); });
Schema 和模型
在 Mongoose 中,模式(Schema)被定义为描述文档结构的对象。模型(Model)是由模式创建的构造函数。在创建模型之前,我们需要先定义模式。
const { Schema } = mongoose; const userSchema = new Schema({ name: String, age: Number, }); const User = mongoose.model('User', userSchema);
这段代码定义了一个名为 User 的模型,并将其关联到一个名为 userSchema 的模式。userSchema 描述了用户文档的结构,包括 name 和 age 字段。
CRUD 操作
我们可以使用 Mongoose 的模型来执行 CRUD(Create、Read、Update、Delete)操作。以下是具体用法:
创建文档
const user = new User({ name: 'Tom', age: 18 }); user.save().then(() => console.log('User created'));
这段代码创建了一个名为 Tom 的用户,并将其插入到数据库中。
查找文档
User.find({ name: 'Tom' }).then(users => console.log(users));
这段代码查找所有名为 Tom 的用户,并将其打印出来。
更新文档
User.updateOne({ name: 'Tom' }, { age: 19 }).then(() => console.log('User updated'));
这段代码将所有名为 Tom 的用户的年龄更新为 19。
删除文档
User.deleteOne({ name: 'Tom' }).then(() => console.log('User deleted'));
这段代码删除所有名为 Tom 的用户。
结论
在本文中,我们深入了解了如何使用 Express.js 和 Mongoose 来连接 MongoDB 数据库。我们学习了如何创建模式和模型,以及如何执行 CRUD 操作。在实际开发中,这些操作将是必不可少的。现在,你可以开始在 Web 应用程序中使用 MongoDB 数据库了!
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/66f3e94cf40ec5a964e5ccaa