今天分享一下直接批量往MongoDB发送数据的python脚本,话不多说,直接贴完整代码。
很简短的一段代码。
# 导入需要的库
import pymongo
import random
import datetime
import json
# 连接 MongoDB
client = pymongo.MongoClient("mongodb://<username>:<password>@<hostname>:<port>/<database>")
# 获取数据库对象和表对象,以下是我本次用到的库对象和表对象
wb_itankermgt = "wb_itankermgt"
tTankerGpsDataLog = "tTankerGpsDataLog"
db = client[wb_itankermgt]
collection = db[tTankerGpsDataLog]
# 获取所有表名
tables = db.list_collection_names()
# 打印出所有表名
for table in tables:
print(table)
# 定义循环次数
num_records = 1000
# # 循环生成数据并插入
for i in range(num_records):
# 生成随机时间(这里直接复用昨天的时间函数,后续考虑封装一下)
def generate_random_datetime():
# 随机生成年
year = random.randint(1900, 2024)
# 随机生成月
month = random.randint(1, 12)
# 随机生成日
day = random.randint(1, 28)
# 随机生成时
hour = random.randint(0, 23)
# 随机生成分
minute = random.randint(0, 59)
# 随机生成秒
second = random.randint(0, 59)
# 创建 datetime 对象
random_datetime = datetime.datetime(year, month, day, hour, minute, second)
return random_datetime
# 生成随机 datetime并格式化为json对象,以便于json格式的数据传输能够接收
random_datetime = generate_random_datetime()
random_datetime1 = random_datetime.strftime("%Y-%m-%d %H:%M:%S")
# # 定义递增函数,使得loadTTC实现递增
# def increment_parameter(param):
# param += 1
# return param
document = {
#此处为需要传输的json字符串,如果有list格式的数据,记得用括号括起来。
"key1": value1,
"key2": value2,
"key3": value3,
}
# 插入单个文档
collection.insert_one(document)
print(document)
# 循环结束,关闭连接
client.close()