返回

在mongoose的世界里敲响增删查改的鼓

前端

在数据浩瀚的数据库世界里,增删查改四个字一直是数据库操作绕不开的话题,数据库的操作无非就是增删查改,即CURD,事实也正是如此,接下来让我们跟随mongoose的脚步,看看mongoose操作no SQL数据库MongoDB的CURD。

创建

mongoose创建文档的方法主要有两种:

  1. 使用save()方法
  2. 使用create()方法

读取

mongoose读取文档的方法主要有两种:

  1. 使用find()方法
  2. 使用findOne()方法

更新

mongoose更新文档的方法主要有两种:

  1. 使用update()方法
  2. 使用updateOne()方法

删除

mongoose删除文档的方法主要有两种:

  1. 使用deleteOne()方法
  2. 使用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进行数据库操作。