Python —— 操作MongoDB

活动地址:CSDN21天学习挑战赛

一,什么是MongoDB 

MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的

1.1 MongoDB 特点

*面向集合存储,易存储对象类型的数据。

*模式自由。

*支持动态查询。

*支持完全索引,包含内部对象。

*支持查询。

*支持复制和故障恢复。

*使用高效的二进制数据存储,包括大型对象(如视频等)。

*自动处理碎片,以支持云计算层次的扩展性。

*支持 Golang,RUBY,PYTHON,JAVA,C++,PHP,C#等多种语言。

*文件存储格式为BSON(一种JSON的扩展)。

*可通过网络访问。

 

二,Python 操作 MongoDB

Python 操作 MongoDB是的模块并不像sqlite那般的内置模块,所以我们需要安装对应的依赖模块。

1,安装 pymongo库

 控制台输入  pip install pymongo 按回车当显示成功的字样时表示 pymongo库已经安装成功

Python —— 操作MongoDB_第1张图片

2,Python操作mongo库

2.1 MongoClient

 操作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()

 输出结果:

Python —— 操作MongoDB_第2张图片

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

你可能感兴趣的:(python,python,mongodb)