Python —— 操作MongoDB

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

一,什么是MongoDB 

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

1.1 MongoDB 特点

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

*模式自由。

*支持动态查询

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

*支持查询。

*支持复制和故障恢复。

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

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

*支持 GolangRUBYPYTHONJAVAC++PHPC#等多种语言。

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

*可通过网络访问。

 

二,Python 操作 MongoDB

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

1,安装 pymongo库

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

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

 输出结果:

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

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值