Python操作三大数据库MongoDB
前言
本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理
以下文章来源于我偶像龟叔 ,作者我偶像龟叔
1、pymongo安装
pip install pymongo
2、MongoClient连接(连接池)
MongoClient是MongoDB的客户端代理对象,可以用来执行增删查改操作,而且还内置了连接池。
=import pymongoclient = 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