0%

在 Python 中使用 MongoDB

摘要:使用 PyMongo 模块连接 MongoDB 数据库,并进行常规增删改查操作。

操作数据库

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#引入Mongo模块
import pymongo

#连接数据库
client = pymongo.MongoClient("localhost",27017)

#选择数据库
db_test = client["test"]

#获取集合
collection_used = db_test["demo"]

#获取collection_used集合内全部数据
x = collection_used.find()
for i in x:
print(i) #打印一条数据后停止
print(i["name"]) #打印key=name的value值
print(type(i)) #字典
break

新增文档

语法:

collection.insert_one( {doc} )

collection.insert_one([ {doc1},{doc2},{doc3} ])

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# 引入Mongo模块
import pymongo

# 连接MongoDB
client = pymongo.MongoClient("localhost", 27017)

# 指定数据库
db_used = client["test"]

# 指定集合
collection_used = db_used["demo"]

# 1)新增一条数据 insert_one()
collection_used.insert_one({"name": "legalgeek-8", "age": 25})

# 2)新增多条数据 insert_many()
collection_used.insert_many([{"name": "legalgeek-9", "age": 27}, {"name": "IU", "age": 30}])

查找文档

语法:

collection.find_one( )

collection.find( )

collection.find( {条件} )

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
# 引入Mongo模块
import pymongo

# 连接MongoDB
client = pymongo.MongoClient("localhost", 27017)

# 指定数据库
db_used = client["test"]

# 指定集合
collection_used = db_used["demo"]

#1)读取一条数据 find_one()
x = collection_used.find_one()
print(x)

#2)读取多条数据:
y = collection_used.find() #返回一个游标,需要遍历获取所有数据
for i in y:
print(i)

#3)条件查询
z = collection_used.find({"name":"legalgeek"}) #返回一个游标,需要遍历获取所有数据
for i in z:
print(i)

更新文档

语法:

collection.update_one( {“key”:“value”}, {"$set":{"修改目标字段":""}} )

collection.update_many({“key”:“value”}, {"$set":{"修改目标字段":""}} )

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 引入Mongo模块
import pymongo

# 连接MongoDB
client = pymongo.MongoClient("localhost", 27017)

# 指定数据库
db_used = client["test"]

# 指定集合
collection_used = db_used["demo"]

# 更新一条数据:
collection_used.update_one({"name":"legalgeek-1"},{"$set":{"age":88}})

# 更新多条数据:
collection_used.update_many({"name":"legalgeek"},{"$set":{"age":77}})

删除文档

语法:
collection.delete_one({条件})

collection.delete_many({条件})

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 引入Mongo模块
import pymongo

# 连接MongoDB
client = pymongo.MongoClient("localhost", 27017)

# 指定数据库
db_used = client["test"]

# 指定集合
collection_used = db_used["demo"]

# 删除一条数据
collection_used.delete_one({"name":"legalgeek-2"})

# 删除多条数据
collection_used.delete_many({"name":"legalgeek"})