关于数据库:MongoDB学习笔记手把手教你配置Python操作MongoDB

52次阅读

共计 2298 个字符,预计需要花费 6 分钟才能阅读完成。

作者:幻好

起源:恒生 LIGHT 云社区

概述

在爬虫相干的我的项目中,有时须要爬取各种数据结构的数据,为了更不便的存储,咱们通常会应用 MongoDB 进行存储。

本文将应用 Python 连贯 MongoDB,对数据进行增删改的操作实际,读者须要先对 Python 或 MongoDB 有肯定的理解,可能更快上手。

环境筹备

零碎:windows 10 x64

Python:

  • 版本:3.7
  • 开发工具:Pycharm

MongoDB:

  • 版本:4.x
  • 可视化工具:MongoDB Compass

操作步骤

启动 Mongo Service

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

装置工具包

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

编写查看连贯

新建一个 .py 文件,编写 MongoDB 的连贯程序,通过查问校验连贯是否胜利:

# pymongo 库中导入 MongoClient
from 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 云社区,由恒生电子搭建的金融科技业余社区平台,分享实用技术干货、资源数据、金融科技行业趋势,拥抱所有金融开发者。

扫描下方小程序二维码,退出咱们!

正文完
 0