Python Mongodb
我们可以使用
delete_one()
方法来删除一个文档,该方法第一个参数为查询对象,指定要删除哪些数据。
本文使用的测试数据如下(点击图片查看大图):
以下实例删除 name 字段值为 "Taobao" 的文档:
import
pymongo
myclient
=
pymongo
.
MongoClient
(
"
mongodb://localhost:27017/
"
)
mydb
=
myclient
[
"
runoobdb
"
]
mycol
=
mydb
[
"
sites
"
]
myquery
= {
"
name
"
:
"
Taobao
"
}
mycol
.
delete_one
(
myquery
)
for
x
in
mycol
.
find
(
)
:
print
(
x
)
myclient
=
pymongo
.
MongoClient
(
"
mongodb://localhost:27017/
"
)
mydb
=
myclient
[
"
runoobdb
"
]
mycol
=
mydb
[
"
sites
"
]
myquery
= {
"
name
"
: {
"
$regex
"
:
"
^F
"
} }
x
=
mycol
.
delete_many
(
myquery
)
print
(
x
.
deleted_count
,
"
个文档已删除
"
)
输出结果为:
1 个文档已删除
删除集合中的所有文档
delete_many()
方法如果传入的是一个空的查询对象,则会删除集合中的所有文档:
import
pymongo
myclient
=
pymongo
.
MongoClient
(
"
mongodb://localhost:27017/
"
)
mydb
=
myclient
[
"
runoobdb
"
]
mycol
=
mydb
[
"
sites
"
]
x
=
mycol
.
delete_many
(
{}
)
print
(
x
.
deleted_count
,
"
个文档已删除
"
)
输出结果为:
5 个文档已删除
我们可以使用
drop()
方法来删除一个集合。
以下实例删除了 customers 集合:
import
pymongo
myclient
=
pymongo
.
MongoClient
(
"
mongodb://localhost:27017/
"
)
mydb
=
myclient
[
"
runoobdb
"
]
mycol
=
mydb
[
"
sites
"
]
mycol
.
drop
(
)
如果删除成功 drop() 返回 true,如果删除失败(集合不存在)则返回 false。
我们使用以下命令在终端查看集合是否已删除:
> use runoobdb
switched to db runoobdb
> show tables;
Python Mongodb