import os import sys import time import django local_path = os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__)))) print(local_path) if local_path not in sys.path: sys.path.append(local_path) os.environ.setdefault("DJANGO_SETTINGS_MODULE", "kedong.settings") django.setup() from django.conf import settings from smartfarming.models.device import MongoDevice, MongoCBDData from smartfarming.models.worm_forecast import MongoBZYphoto, MongoCBDphoto import json import requests import pymongo from urllib import parse my_client = pymongo.MongoClient(host="8.136.98.49", port=27017, username="root", password="yfkj@6020") my_col = my_client['smartfarming']['sa_device'] scd_device = { "866547058627400", "866547058637276", "866547058633663", "866547058613921" } def dsj_qxz_conf_info(): user = parse.quote_plus("root") passwd = parse.quote_plus("yfkj@6020") # 账号密码方式连接MongoDB | "mongodb://用户名:密码@公网ip:端口/" myclient = pymongo.MongoClient("mongodb://{0}:{1}@8.136.98.49:57017/".format(user,passwd)) # myclient = pymongo.MongoClient("mongodb://127.0.0.1:12514/") # 指定数据库 db = myclient.smartfarming # 指定集合 collection = db.sa_device collection1 = db.sa_device_cbdphoto for i in scd_device: device_info = collection.find_one({'device_id':i}) device_id = device_info['id'] data = {'device_id': str(device_id),'uptime':{'$gte':1690166400}} cursor = collection1.find(data,{'_id':0,'id':0}) device_id = MongoDevice.objects.get(device_id=i).id for i in cursor: scd_data = MongoCBDphoto.objects.create( device_id = device_id, addtime = i["addtime"], uptime = i["uptime"], addr = i["addr"], at = i["at"], ah = i["ah"], describe = i["describe"], indentify_photo = i["indentify_photo"], indentify_result = i["indentify_result"], photo_status = i["photo_status"], is_mark = i["is_mark"], mark = i["mark"], label = i["label"] ) print(scd_data.id) print(f"设备: {i} {device_id} 数据量 {cursor.count()}") return True if __name__ == "__main__": dsj_qxz_conf_info()