python3将mongodb数据迁移至mysql

新鲜的,IP隐匿,直接贴出代码:


# -*- coding: utf-8 -*-
"""
Created on Tue Aug 14 14:00:55 2018

@author: admin
"""
from pymongo import MongoClient
import pymysql

#--------------------------mysql数据库操作------------------------------
config = {
    'host': 'localhost',
    'port': 3306,
    'user': 'dataserver',
    'passwd': 'dataserver123',
    'db':'dataserver',
    'charset':'utf8mb4',
    'cursorclass':pymysql.cursors.DictCursor
    }

#创建连接
conn = pymysql.connect(**config)
# 执行sql语句

def main_mysql():
    try:
        with conn.cursor() as cursor:
            sql='select * from tb_cmp_card limit 100'
            cursor.execute(sql)
            result=cursor.fetchall() 
#            print(result)
            return result
    finally:
        conn.close();
#--------------------mongodb数据库信息-----------------------------        
settings = {
    "ip":'localhost',   #ip
    "port":27017,           #端口
    "db_name" : "myDB",    #数据库名字
    "set_name" : "myDB"   #集合名字
}
if __name__ == "__main__":
    mongo = MongoClient('localhost',27017)
    db=mongo[settings["db_name"]]    
    mySet=db[settings["set_name"]]
    myConn_list = main_mysql()
    if  mySet.find().count!=0:
        mySet.remove()
        for item in myConn_list:
            mySet.insert(item);
    else:
        for item in myConn_list:
            mySet.insert(item);

上个结果,并打个促进和谐的码:
数据库数限制读出100条,查看mongodb数据也是没问题。


小片段:初写的时候数据库读出与mongodb数据库数据不一致,猜测是因为没有加条件导致追加插入。加了最后一段循环后没有问题了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章