返回
在mongoose的世界里敲响增删查改的鼓
前端
2024-02-12 09:44:08
在数据浩瀚的数据库世界里,增删查改四个字一直是数据库操作绕不开的话题,数据库的操作无非就是增删查改,即CURD,事实也正是如此,接下来让我们跟随mongoose的脚步,看看mongoose操作no SQL数据库MongoDB的CURD。
创建
mongoose创建文档的方法主要有两种:
- 使用save()方法
- 使用create()方法
读取
mongoose读取文档的方法主要有两种:
- 使用find()方法
- 使用findOne()方法
更新
mongoose更新文档的方法主要有两种:
- 使用update()方法
- 使用updateOne()方法
删除
mongoose删除文档的方法主要有两种:
- 使用deleteOne()方法
- 使用deleteMany()方法
除了上述四种基本CURD操作之外,mongoose还提供了一些其他有用的方法,如:
- findByIdAndDelete()方法:根据ID查找并删除文档
- findByIdAndRemove()方法:根据ID查找并删除文档(与findByIdAndDelete()方法的区别在于findByIdAndRemove()方法会返回被删除的文档,而findByIdAndDelete()方法不会)
- findOneAndUpdate()方法:根据查询条件查找并更新文档
- findOneAndReplace()方法:根据查询条件查找并替换文档
MongoDB shell和MongoDB compass
MongoDB shell和MongoDB compass都是MongoDB提供的交互式数据库管理工具,可以使用它们来执行CURD操作。
- MongoDB shell是一个命令行工具,可以使用命令来执行CURD操作
- MongoDB compass是一个图形用户界面工具,可以使用图形界面来执行CURD操作
增删查改实例
// 创建文档
const kitty = new Cat({ name: 'Zildjian' });
kitty.save((err, cat) => {
if (err) {
console.error(err);
} else {
console.log(cat);
}
});
// 读取文档
Cat.find((err, cats) => {
if (err) {
console.error(err);
} else {
console.log(cats);
}
});
// 更新文档
Cat.updateOne({ name: 'Zildjian' }, { age: 1 }, (err, result) => {
if (err) {
console.error(err);
} else {
console.log(result);
}
});
// 删除文档
Cat.deleteOne({ name: 'Zildjian' }, (err, result) => {
if (err) {
console.error(err);
} else {
console.log(result);
}
});
结语
通过这篇文章,我们学习了使用mongoose对MongoDB数据库进行CURD操作。我们了解到mongoose提供了丰富的API来支持CURD操作,以及如何使用MongoDB shell和MongoDB compass进行CURD操作。希望这些知识能够帮助读者在实际项目中熟练使用mongoose进行数据库操作。