活动地址:CSDN21天学习挑战赛
MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的
*面向集合存储,易存储对象类型的数据。
*模式自由。
*支持动态查询。
*支持完全索引,包含内部对象。
*支持查询。
*支持复制和故障恢复。
*使用高效的二进制数据存储,包括大型对象(如视频等)。
*自动处理碎片,以支持云计算层次的扩展性。
*支持 Golang,RUBY,PYTHON,JAVA,C++,PHP,C#等多种语言。
*文件存储格式为BSON(一种JSON的扩展)。
*可通过网络访问。
Python 操作 MongoDB是的模块并不像sqlite那般的内置模块,所以我们需要安装对应的依赖模块。
控制台输入 pip install pymongo 按回车当显示成功的字样时表示 pymongo库已经安装成功
操作mongoDB时需要使用 MongoClient 对象,在创建时指定连接的 IP 地址、端口号,创建的数据库名
from pymongo import MongoClient
def mongodb_init01():
"""数据库连接方式1"""
client = MongoClient(host='127.0.0.1', port=27017)
print(client)
def mongodb_init02():
"""数据库连接方式2"""
uri = "mongodb://{}:{}".format('127.0.0.1', 27017)
client = MongoClient(uri)
print(client)
if __name__ == '__main__':
mongodb_init01()
mongodb_init02()
输出结果:
db = client['mytest']
输出结果:
Database(MongoClient(host=['127.0.0.1:27017'], document_class=dict, tz_aware=False, connect=True), 'mytest')
# 查看当前数据库中的所有集合
collection_names = new_database.list_collection_names()
# 判断一个集合是否存在
if 'test001' in collection_names:
print("集合已存在")
else:
print("集合不存在")
# 获取指定数据库下的所有集合对象
collections = test_database.list_collections()
for collection in collections:
print('获取集合:', collection)
# 使用一个已存在数集合(集合名称:test_collection)
test_collection = new_database.test_collection
# 创建一个新的集合
new_collection = new_database.new_collection
# 删除一个集合
new_database.drop('new_collection')
- collection_names 在最新版本的 Python 中已废弃,Python3.7+ 之后的版本改为了 list_collection_names()
- 在 MongoDB 中,集合只有在内容插入后才会创建。就是说,集合创建后要插入一个数据,集合才会真正创建。
增删改查的操作,详细请参照 https://www.runoob.com/python3/python-mongodb.html