Mongoose 是一个优秀的 Node.js ORM 框架,它可以帮助我们更方便地操作 MongoDB 数据库。本文将介绍如何使用 Mongoose 创建和查询 MongoDB 文档。
安装 Mongoose
在开始使用 Mongoose 之前,我们需要先安装它。可以通过 npm 进行安装:
npm install mongoose
连接 MongoDB 数据库
在使用 Mongoose 之前,我们需要先连接 MongoDB 数据库。可以使用 Mongoose 的 connect
方法来连接数据库:
const mongoose = require('mongoose'); mongoose.connect('mongodb://localhost/test', { useNewUrlParser: true }) .then(() => console.log('MongoDB connected')) .catch(err => console.log(err));
在连接数据库时,可以传入一些选项,例如 { useNewUrlParser: true }
,用于告诉 Mongoose 使用新的 URL 解析器。
创建 Schema
在 Mongoose 中,Schema 是一个文档的模板,它定义了文档中的字段、类型、默认值等信息。可以使用 mongoose.Schema
来定义 Schema:
// javascriptcn.com 代码示例 const mongoose = require('mongoose'); const userSchema = new mongoose.Schema({ name: String, age: Number, email: String }); const User = mongoose.model('User', userSchema);
在上面的代码中,我们定义了一个名为 User
的模型,并传入了一个名为 userSchema
的 Schema。
创建文档
在创建文档之前,我们需要先创建一个模型。可以使用 mongoose.model
方法来创建模型:
// javascriptcn.com 代码示例 const mongoose = require('mongoose'); const userSchema = new mongoose.Schema({ name: String, age: Number, email: String }); const User = mongoose.model('User', userSchema); const user = new User({ name: 'Alice', age: 18, email: 'alice@example.com' }); user.save() .then(() => console.log('User created')) .catch(err => console.log(err));
在上面的代码中,我们创建了一个名为 user
的文档,并将其保存到数据库中。
查询文档
在查询文档时,可以使用 find
方法来查询多个文档,或使用 findOne
方法来查询单个文档:
// javascriptcn.com 代码示例 const mongoose = require('mongoose'); const userSchema = new mongoose.Schema({ name: String, age: Number, email: String }); const User = mongoose.model('User', userSchema); User.find() .then(users => console.log(users)) .catch(err => console.log(err)); User.findOne({ name: 'Alice' }) .then(user => console.log(user)) .catch(err => console.log(err));
在上面的代码中,我们分别使用 find
和 findOne
方法来查询文档。find
方法返回一个文档数组,而 findOne
方法返回一个单个文档。
更新文档
在更新文档时,可以使用 updateOne
或 updateMany
方法来更新单个或多个文档:
// javascriptcn.com 代码示例 const mongoose = require('mongoose'); const userSchema = new mongoose.Schema({ name: String, age: Number, email: String }); const User = mongoose.model('User', userSchema); User.updateOne({ name: 'Alice' }, { age: 20 }) .then(() => console.log('User updated')) .catch(err => console.log(err)); User.updateMany({ age: { $lt: 18 } }, { isUnderage: true }) .then(() => console.log('Users updated')) .catch(err => console.log(err));
在上面的代码中,我们分别使用 updateOne
和 updateMany
方法来更新文档。
删除文档
在删除文档时,可以使用 deleteOne
或 deleteMany
方法来删除单个或多个文档:
// javascriptcn.com 代码示例 const mongoose = require('mongoose'); const userSchema = new mongoose.Schema({ name: String, age: Number, email: String }); const User = mongoose.model('User', userSchema); User.deleteOne({ name: 'Alice' }) .then(() => console.log('User deleted')) .catch(err => console.log(err)); User.deleteMany({ age: { $lt: 18 } }) .then(() => console.log('Users deleted')) .catch(err => console.log(err));
在上面的代码中,我们分别使用 deleteOne
和 deleteMany
方法来删除文档。
总结
本文介绍了如何使用 Mongoose 创建和查询 MongoDB 文档。通过学习本文,读者可以了解到 Mongoose 的基本用法,并掌握如何使用 Mongoose 来操作 MongoDB 数据库。
来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/6577f472d2f5e1655d1c2480