| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- import os
- import sys
- import datetime
- import django
- local_path = os.path.dirname(os.path.dirname(os.path.dirname(os.path.abspath(__file__))))
- 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, MongoSCDData
- import json
- import requests
- import pymongo
- from urllib import parse
- from tqdm import tqdm
- 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 = {
- "865328061465380",
- "865328061478136",
- "865328061471529",
- "865328061466933",
- "865328061428701",
- "865328061466404",
- "865328061449913",
- "865328061455027",
- "865328061271879",
- "865328061253190",
- "865328061460159",
- "865328061438890",
- "865328061429451",
- "869298052295540",
- "865328061465679",
- "865328061450044"
- }
- 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_scd_data
- for d_id in scd_device:
- device = collection.find_one({"device_id": d_id}, {"id": 1, "_id": 0})
- start = "2023-12-06 15:34:02"
- end = "2023-12-08 15:19:01"
- start = int(datetime.datetime.strptime(start, "%Y-%m-%d %H:%M:%S").timestamp())
- end = int(datetime.datetime.strptime(end, "%Y-%m-%d %H:%M:%S").timestamp())
- data = {'device_id': device.get("id"), 'addtime':{'$gt':start, "$lt": end}}
- cursor = collection1.find(data,{'_id':0,'id':0,'device_id':0})
- device_id = MongoDevice.objects.get(device_id=d_id).id
- print("数据量", cursor.count())
- for i in tqdm(list(cursor)):
- MongoSCDData.objects.create(
- device_id=device_id,
- device_data=i["device_data"],
- addtime=i['addtime'],
- device_status=i['device_status']
- )
-
- return True
- if __name__ == "__main__":
- dsj_qxz_conf_info()
|