Python3连接MongoDB并写入数据

个人博客地址:Python3连接MongoDB并写入数据 | 一张假钞的真实世界

安装PyMongo

复制代码
$ pip3 install pymongo
Successfully installed pymongo-3.7.2

连接MongoDB并且批量插入操作

复制代码
#!/usr/bin/python3

import mysql.connector
import gzip
import json
from pymongo import MongoClient
from datetime import datetime

opsDateTime = datetime.now().isoformat(timespec='seconds')

config = {
    'user': 'roHive',
    'password': 'hive@bigdata!23',
    'host': '172.16.72.22',
    'database': 'azkaban3',
    'raise_on_warnings': True,
    'charset': 'latin1'
}

cnx = mysql.connector.connect(**config)
cursor = cnx.cursor()
query = ("SELECT trigger_id, data FROM azkaban3.triggers")
cursor.execute(query)

scheduledList = []
for (triggerId, triggerData) in cursor:
    triggerJson = json.loads(gzip.decompress(bytes(triggerData, encoding='latin1')))
    actionJson = triggerJson['actions'][0]['actionJson']
    projectName = actionJson['projectName']
    flowName = actionJson['flowName']
    scheduledFlow = {'opsDateTime': opsDateTime, 'projectName': projectName, 'flowName': flowName}
    scheduledList.append(scheduledFlow)

cursor.close()
cnx.close()

mongoClient = MongoClient('mongodb://172.16.72.213:27017/')
opsDb = mongoClient.ops
azScheduled = opsDb.azScheduledFlow
azScheduled.insert_many(scheduledList)
相关推荐
TF男孩5 小时前
ARQ:一款低成本的消息队列,实现每秒万级吞吐
后端·python·消息队列
AAA修煤气灶刘哥7 小时前
后端人速藏!数据库PD建模避坑指南
数据库·后端·mysql
该用户已不存在10 小时前
Mojo vs Python vs Rust: 2025年搞AI,该学哪个?
后端·python·rust
RestCloud11 小时前
揭秘 CDC 技术:让数据库同步快人一步
数据库·api
站大爷IP12 小时前
Java调用Python的5种实用方案:从简单到进阶的全场景解析
python
得物技术14 小时前
MySQL单表为何别超2000万行?揭秘B+树与16KB页的生死博弈|得物技术
数据库·后端·mysql
用户83562907805118 小时前
从手动编辑到代码生成:Python 助你高效创建 Word 文档
后端·python
c8i18 小时前
python中类的基本结构、特殊属性于MRO理解
python
可涵不会debug18 小时前
【IoTDB】时序数据库选型指南:工业大数据场景下的技术突围
数据库·时序数据库
ByteBlossom18 小时前
MySQL 面试场景题之如何处理 BLOB 和CLOB 数据类型?
数据库·mysql·面试