一. 安装Mongoose
在node.js中使用MongoDB,可以使用mongoose这个流行的npm包.
npm install mongoose
二. 连接到MongoDB数据库
在使用Mongoose之前,需要先连接到MongoDB数据库。
首先启动mongoDB数据库,在命令行中输入
mongod
使用mongoose
const mongoose = require('mongoose');
// 连接URL和数据库名称
const url = 'mongodb://127.0.0.1:27017';
const dbName = 'users';
// 连接到MongoDB数据库
mongoose.connect(`${url}/${dbName}`, { useNewUrlParser: true, useUnifiedTopology: true })
.then(() => {
console.log('Connected to MongoDB');
// 执行数据库操作
// ...
})
.catch((error) => {
console.error('Failed to connect to MongoDB:', error);
});
变量dbName为自己要连接的数据库名称,并根据需要修改连接URL中的主机和端口。
三. 定义模式和模型
使用Mongoose,可以定义模式和模型来映射数据库中的集合和文档。以下是一个示例:
const mongoose = require('mongoose');
// 定义模式
const userSchema = new mongoose.Schema({
name: { type: String, required: true },
age: { type: Number, default: 0 },
});
// 创建模型
const User = mongoose.model('User', userSchema);
在上面的示例中,我们定义了一个名为User的模型,它具有name和age字段。name字段是必需的,age字段具有默认值0。
四. 执行数据库操作
一旦成功连接到MongoDB并定义了模型,可以使用Mongoose执行各种数据库操作CURD。
4.1 创建文档
const user = new User({ name: 'John Doe', age: 30 });
user.save()
.then((result) => {
console.log('Document created:', result);
})
.catch((error) => {
console.error('Failed to create document:', error);
});
4.2 查询文档
User.find()
.then((documents) => {
console.log('Documents:', documents);
})
.catch((error) => {
console.error('Failed to fetch documents:', error);
});
User.findOne({ name: 'John Doe' })
.then((document) => {
console.log('Document:', document);
})
.catch((error) => {
console.error('Failed to fetch document:', error);
});
4.3 更新文档
User.updateOne({ name: 'John Doe' }, { age: 35 })
.then((result) => {
console.log('Document updated:', result);
})
.catch((error) => {
console.error('Failed to update document:', error);
});
4.4 删除文档
User.deleteOne({ name: 'John Doe' })
.then((result) => {
console.log('Document deleted:', result);
})
.catch((error) => {
console.error('Failed to delete document:', error);
});