Python操作三大数据库MongoDB

python

前言

本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理

以下文章来源于我偶像龟叔 ,作者我偶像龟叔

 

1、pymongo安装

pip install pymongo

2、MongoClient连接(连接池)

MongoClient是MongoDB的客户端代理对象,可以用来执行增删查改操作,而且还内置了连接池。

=import pymongo

client = pymongo.MongoClient(host="localhost", port=27017) #建立连接池

3、创建数据库与集合

创建数据库与集合后,需要在集合插入数据,数据库与集合才会真正创建。

_db = client["test_database"] #创建数据库

_col = _db["test_collection"] #创建集合

4、添加数据

添加数据后,数据库与集合才是真正意义上的创建完成:

# 插入单条数据

data = {

"author": "Mike",

"tags": ["mongodb", "python", "pymongo"],

}

# 此处插入一条数据,打印结果数据库与集合都创建了

insert = _col.insert_one(data) # <pymongo.results.InsertOneResult object at 0x0000000003E99488>

_col_id = insert.inserted_id

print(client.list_database_names()) # 结果:["test_database"]

print(_db.list_collection_names()) # 结果:["test_collection"]

# 批量插入数据

many_data = [

{

"author": "Mike",

"tags": ["mongodb", "python", "pymongo"],

},

{

"author": "Eliot",

"tags": ["java", "docker", "Spring"],

}

]

insert_many = _col.insert_many(many_data) # <pymongo.results.InsertManyResult object at 0x0000000003E99408>

_col_ids = insert_many.inserted_ids

5、查找、修改、删除数据

示例代码如下:

# 查找单个集合

info = _col.find_one()

info_2 = _col.find_one({"author": "Mike"}) #带条件

# 查找全部集合

infoAll = _col.find()

infoAll_2 = _col.find({"_id": _col_id}) #带条件

# -------------------------find end-----------------------

# 修改数据

where = {"author": "Mike"}

update = {"$set": {"author": "Mike_2"}}

_col.update_one(where, update)

_col.update_many(where, update)

# -------------------------update end-----------------------

# 删除数据

where = {"author": "Mike"}

_col.delete_one(where) #删除条件单条数据

_col.delete_many(where) #删除条件多条数据

_col.delete_many({}) #删除所有数据

_col.drop() #删除集合

6、杂项

示例代码如下:

# 统计数量

count = _col.count_documents({}) #花括号条件为空

# 排序

sort = _col.find({}).sort("author")

7、索引

示例代码如下:

"""

索引

pymongo.ASCENDING : 1

pymongo.DESCENDING : -1

索引对排序的规则:

1、单键索引:排序规则可以是任意方向

2、复合索引:所有的键必须"全部相同"与"全部不相同"

该博客有很好的解释:https://blog.csdn.net/jerryJavaCoding/article/details/82317840

"""

_col.create_index([("a", pymongo.DESCENDING)])

_col.create_indexes({"a": pymongo.ASCENDING, "b": pymongo.DESCENDING})

_col.drop_index("a")

以上是 Python操作三大数据库MongoDB 的全部内容, 来源链接: utcz.com/z/530395.html

回到顶部