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)
相关推荐
我不介意孤独7 小时前
04-记忆系统为什么向量数据库不够用
数据库·人工智能·资源隔离·agent infra
CTA终结者7 小时前
期货开仓前保证金够吗:get_account 可用与占用字段对照
python·区块链
开源量化GO7 小时前
夜盘白盘衔接几分钟误下单:天勤交易时段与行情过滤
python·区块链
AOwhisky7 小时前
MySQL 学习笔记(第六期):MySQL 备份与恢复
运维·数据库·笔记·学习·mysql·云计算
辣椒思密达7 小时前
Python公开数据采集实战:如何解决请求高频拦截与Session会话中断问题
开发语言·python
qq21084629538 小时前
【数据库】TDengine 清理旧数据
数据库·oracle·tdengine
j_xxx404_8 小时前
MySQL表操作硬核解析:从 CREATE TABLE 到磁盘文件、ALTER TABLE 与 DDL 风险
运维·服务器·数据库·c++·mysql·adb·ai
Albart5758 小时前
Python 实战教程:用 30 分钟学会解决真实问题
开发语言·python
数据库小学妹8 小时前
PostgreSQL迁移到国产数据库怎么做?评估、改造、上线全流程实操指南
数据库·经验分享·postgresql·dba
2301_773643628 小时前
ceph池
开发语言·ceph·python