本文是存储了5个手机数据后再操作的。存储实现见文章:【Node.js】mongoose教程–存储

GitHub源码链接:sodino#MongoDemo


Model#remove()
当被Model的实例对象调用时,remove(callback)参数中直接设置为callback回调函数,代码运行后该删除该实例对象自身。
当被Model按静态方式调用时,如Phone.remove([criteria], [callback]),参数criteria为查询条件,可用空对象{}指代全部数据,callback接收删除结果的回调。


Query#remove()
Query对象可以通过Model.find()获取。其它与Model#remove()大同小异。


sodino#MongoDemo代码一开始时,为了避免重复存储,在数据库连接成功时,就将之前存储的Phone数据全部删除了。代码如下所示:

1
2
3
4
5
6
7
8
9
// 先删除所有的数据
Phone.remove({}, (err)=>{
console.log('---clean db ---------------------------------------');
if (err) {
console.log('Phone remove all occur a error:', err);
} else {
console.log('Phone remove all success.');
}
});

如果要删除指定条件的Phone,则操作和find()方法几乎一样,代码如下:

1
2
3
4
5
6
// 删除所有的非智能机
Phone.remove({isSmart : false},
(err)=>{
... ... //其它代码都一样呀..
}
)

下一篇mongoose教程–聚合(Aggregation)的应用


About Sodino