请帮我生成mongodb连续在users表插入5分钟数据,如果中途断开自动重连的脚本
时间: 2024-09-23 21:15:04 浏览: 93
MongoDB自动迁移脚本
5星 · 资源好评率100%
在MongoDB中,你可以使用Python的pymongo库配合time模块来实现这样的功能。这里是一个简单的示例脚本,它会每五分钟插入一条新用户记录,并且处理可能的连接中断并自动重连:
```python
from pymongo import MongoClient
import time
# 连接MongoDB服务器
client = MongoClient('mongodb://localhost:27017/', retryWrites=False) # 如果有认证或其他配置,替换此处
db = client['your_database']
users_collection = db['users']
def insert_data():
try:
# 模拟用户数据
user_data = {
'username': f"user_{int(time.time())}",
'timestamp': time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())
}
# 插入数据
users_collection.insert_one(user_data)
print(f"Inserted user: {user_data['username']}")
except (ConnectionError, ServerSelectionTimeoutError):
print("Lost connection to MongoDB, reconnecting...")
client.close()
client = MongoClient('mongodb://localhost:27017/', retryWrites=False) # 自动重连
insert_data() # 重新尝试插入
while True:
insert_data()
# 等待5分钟
time.sleep(300)
```
注意:
1. `retryWrites=False`是为了快速响应连接错误,实际生产环境可能需要根据情况设置是否重试写操作。
2. 把`'your_database'`和`'users'`替换为你的数据库名和集合名。
运行这个脚本前确保MongoDB已经在本地运行,并且允许未授权访问。
阅读全文