一,什么是MongoDB活动地址:CSDN21天学习挑战赛
1.1 MongoDB 特点MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的
二,Python 操作 MongoDB*面向集合存储,易存储对象类型的数据。
*模式自由。
*支持动态查询。
*支持完全索引,包含内部对象。
*支持查询。
*支持复制和故障恢复。
*使用高效的二进制数据存储,包括大型对象(如视频等)。
*自动处理碎片,以支持云计算层次的扩展性。
*支持 Golang,RUBY,PYTHON,JAVA,C++,PHP,C#等多种语言。
*文件存储格式为BSON(一种JSON的扩展)。
*可通过网络访问。
1,安装 pymongo库Python 操作 MongoDB是的模块并不像sqlite那般的内置模块,所以我们需要安装对应的依赖模块。
2,Python操作mongo库 2.1 MongoClient控制台输入 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()
输出结果:
2.2 指定数据库db = client['mytest']
输出结果:
Database(MongoClient(host=['127.0.0.1:27017'], document_class=dict, tz_aware=False, connect=True), 'mytest')2.3指定集合
# 查看当前数据库中的所有集合 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