β

MongoDB:删除记录( Delete )

PostgreSQL DBA 8 阅读
 

前面介绍了 MongoDB 的查询,插入,更新操作,接下来介绍 Delete 操作。

一. 根据查询条件删除文档
--1.1 查询 id=1 的所有文档

> db.test_2.find({id:1});
{ "_id" : ObjectId("50a0d46ceb825d827b0c3f9b"), "id" : 1, "name" : "name_2" }
{ "_id" : ObjectId("50a12e34f73f2e4aa1ff71bc"), "id" : 1, "name" : "francs" }
>

--1.2 删除 id=1 的所有文档

> db.test_2.remove({id:1});


--1.3 再次查询 id=1 的所有文档

> db.test_2.find({id:1});

备注: id=1 的文档已清除。


二. 删除一个集合中的所有文档。
--2.1 查询 test_2 集合的所有文档

> db.test_2.find();
{ "_id" : ObjectId("50a0d46ceb825d827b0c3f9c"), "id" : 2, "name" : "name_3" }
{ "_id" : ObjectId("50a0d46ceb825d827b0c3f9d"), "id" : 3, "name" : "tutu" }
{ "_id" : ObjectId("50a0d46deb825d827b0c3f9e"), "id" : 4, "name" : "am", "address" : "zhoushan" }
{ "_id" : ObjectId("50a12e7cf73f2e4aa1ff71bd"), "id" : 2, "name" : "name_3" }
{ "_id" : ObjectId("50a12f47f73f2e4aa1ff71be"), "id" : 2, "name" : "name_3" }
{ "_id" : ObjectId("50a132177543857379c2bb37"), "id" : 5, "name" : "name_5" }
{ "_id" : ObjectId("50a1328f7543857379c2bb38"), "id" : 6, "name" : "name_6" }
>

--2.2 删除 test_2 集合的所有文档

> db.test_2.remove();

--2.3 再次查询 test_2 集合

> db.test_2.find();

备注: test_2 集合文档已清空。

--2.4 查看当前库所有集合

> show collections;
system.indexes
test_1
test_2
things

备注:虽然集合 test_2 文档已清空,但 remove() 命令并不会删除集合本身。


三. 删除集合
--3.1 查看当前库所有集合

> show collections;
system.indexes
test_1
test_2
things
>

--3.2 查看集合 test_1 文档

> db.test_1.find();
{ "_id" : ObjectId("50a2450e3b3b9e81c167fa96"), "id" : 1 }
{ "_id" : ObjectId("50a245113b3b9e81c167fa97"), "id" : 2 }

--3.3 删除集合 test_1

> db.test_1.drop();
true

--3.4 再次查看当前库所有集合

> show collections;
system.indexes
test_2
things
>

备注:drop() 命令会删除集合本身。

 
作者:PostgreSQL DBA
Francs 的博客
原文地址:MongoDB:删除记录( Delete ), 感谢原作者分享。

发表评论