mongoose删除数据的 函数是啥
时间: 2024-06-08 12:12:06 浏览: 223
Mongoose 提供了两种方式来删除数据:Model.remove() 和 Model.deleteOne()。
1. Model.remove()
Model.remove() 方法可以删除匹配查询条件的所有文档。它的语法如下:
```
Model.remove(conditions, callback);
```
- conditions:删除条件,同查询条件。
- callback:回调函数,可选参数。如果不传递回调函数,Mongoose 会返回一个 Query 对象。
示例代码:
```
const User = require('./models/user');
// 删除名字为 Alice 的所有用户
User.remove({ name: 'Alice' }, function(err) {
if (err) {
console.log(err);
} else {
console.log('删除成功!');
}
});
```
2. Model.deleteOne()
Model.deleteOne() 方法可以删除匹配查询条件的第一个文档。它的语法如下:
```
Model.deleteOne(conditions, callback);
```
- conditions:删除条件,同查询条件。
- callback:回调函数,可选参数。如果不传递回调函数,Mongoose 会返回一个 Query 对象。
示例代码:
```
const User = require('./models/user');
// 删除名字为 Alice 的第一个用户
User.deleteOne({ name: 'Alice' }, function(err) {
if (err) {
console.log(err);
} else {
console.log('删除成功!');
}
});
```
需要注意的是,Model.remove() 和 Model.deleteOne() 都会直接操作数据库,不会触发 Mongoose 的 middleware。如果需要触发 middleware,可以使用 Model.findOneAndRemove() 或 Model.findByIdAndRemove() 方法。
阅读全文