写点什么

【MongoDB 学习笔记】手把手教你配置 Python 操作 MongoDB

  • 2021 年 12 月 23 日
  • 本文字数:1590 字

    阅读完需:约 5 分钟

作者:幻好

来源:恒生LIGHT云社区

概述

在爬虫相关的项目中,有时需要爬取各种数据结构的数据,为了更方便的存储,我们通常会使用 MongoDB 进行存储。


本文将使用 Python 连接 MongoDB ,对数据进行增删改的操作实践,读者需要先对 Python 或 MongoDB 有一定的了解,能够更快上手。

环境准备

系统:windows 10 x64


Python:


  • 版本:3.7

  • 开发工具:Pycharm


MongoDB:


  • 版本:4.x

  • 可视化工具:MongoDB Compass

操作步骤

启动 Mongo Service

首先在本地启动 MongoDB 服务,并使用 MongoDB Compass 连接到数据库服务:


4239

安装工具包

然后通过开发工具 Pycharm 上安装工具库 pymongo(pymongo 是驱动程序,使 python 程序能够使用 MongoDB 数据库,用 python 编写而成):


4240

编写检查连接

新建一个 .py 文件,编写 MongoDB 的连接程序,通过查询校验连接是否成功:


# pymongo 库中导入 MongoClientfrom pymongo import MongoClient
# 连接 MongoDB 数据库,通过 URL 的形式访问client = MongoClient('mongodb://localhost:27017/')
# 检测客户端连接,可以通过查询文档数据是否能正常查询for i in client.newdb.lightmap.find({}): print(i)
复制代码


如果未报错,成功打印输出,则连接成功:


{'_id': ObjectId('61bc3f6d9e58737faea3c5cc'), 'name': '故宫', 'city': '北京', 'country': '中国', 'gps': {'lat': 116.403, 'lng': 39.924}}{'_id': ObjectId('61bc3f6d9e58737faea3c5cd'), 'name': '长城', 'city': '北京', 'country': '中国', 'gps': {'lat': 106.384, 'lng': 39.031}}{'_id': ObjectId('61bc3f6d9e58737faea3c5ce'), 'name': '白宫', 'city': '华盛顿', 'country': '美国', 'gps': {'lat': 116.652, 'lng': 40.121}}{'_id': ObjectId('61bc3f6d9e58737faea3c5cf'), 'name': '伦敦之眼', 'city': '伦敦', 'country': '英国', 'gps': {'lat': 116.348, 'lng': 34.43}}
复制代码

编写程序操作 MongoDB

数据库的操作

# 新增或获取数据库,如果数据库(new_db)不存在,系统自动创建数据库(new_db)new_db_one = client.new_db_one
# 查询数据库列表db_names = client.list_database_names()print(db_names)
# 删除现有数据库client.drop_database('new_db_one')
复制代码

集合的操作

# 集合的增加操作,如果 collection_name 集合不存在则创建,存在则直接插入数据client.new_db_one.collection_name.insert_one({'light': 'hs'})
# 集合的查询操作,查询对应数据库的集合名列表client.new_db_one.list_collection_names()
# 集合的删除操作client.new_db_one.collection_name.drop()
复制代码

文档的操作

# 文档的新增操作,向集合 collection_name 中新增一个文档client.new_db_one.collection_name.insert_one({'light': 'hs'})for i in client.new_db_one.collection_name.find({}):    print(i)
# 文档的新增操作,向集合 collection_name 中新增一个文档client.new_db_one.collection_name.replace_one({'light': 'hs'}, {'hs2': 'light2'})for i in client.new_db_one.collection_name.find({}): print(i)
# 文档的新增操作,向集合 collection_name 中新增一个文档client.new_db_one.collection_name.find({'hs2': 'light2'})for i in client.new_db_one.collection_name.find({}): print(i)
# 文档的删除操作,匹配的第一条数据进行删除client.new_db_one.collection_name.delete_one({'hs2': 'light2'})for i in client.new_db_one.collection_name.find({}): print(i)
复制代码

总结

本文通过使用 python 对 MongoDB 的数据库、集合、文档的操作实践,方便读者快速上手,赶快动手实践起来吧。




想向技术大佬们多多取经?开发中遇到的问题何处探讨?如何获取金融科技海量资源?


恒生LIGHT云社区,由恒生电子搭建的金融科技专业社区平台,分享实用技术干货、资源数据、金融科技行业趋势,拥抱所有金融开发者。


扫描下方小程序二维码,加入我们!



发布于: 5 小时前阅读数: 5
用户头像

还未添加个人签名 2018.11.07 加入

还未添加个人简介

评论

发布
暂无评论
【MongoDB学习笔记】手把手教你配置Python操作MongoDB