首页 > 解决方案 > 在 mongodb 中使用 python3 中的变量自动创建数据库名称中的探针

问题描述

我希望每个系统的uuid作为这个系统的数据库名注册到中央数据库,这样每个系统的代表就不需要输入它的数据库名,通过uuid可以很方便的得到数据库名。原始数据库是MongoDB

所有系统都通过每个系统的特派代表连接到原始数据库并创建自己的数据库

所有这些都在 Python 3 中实现

例子 :

from pymongo import Connection 
connection = Connection() 
db = connection['test-database']
collection = db['test-collection']

这里我们不能使用 uuid 的变量作为数据库名称,需要手动设置。

服务器代码:

import os 
import psutil 
import socket 
import db_conn 
import pymongo
from bson.json_util import loads 
import json 
import threading 
import coms 
import time from pymongo 
import MongoClient import get_status_ports 
import port_scanner 

def main():
   db_con = db_conn.db_connection()
   connection = db_con.connections()
   ob_coms = coms.lis_main()
   ob_listen_port = port_scanner.listen_port_sca()
   port_status = get_status_ports.Spetial_Agent()
   db = connection.main_db_192_168_1_4  # Here we have to use the variable  for the database name so that we can set the uuid system - but the variable does not accept it. 
   list_bad = ["python","firefox"]
   port_num = 2882
   status = "listen"
   pid = []
   if ob_listen_port.special_port_scanner(port_num, status) is None:
      conn_sock = ob_coms.port_listen()
      conn, address = conn_sock.accept()
   #if (conn) or (conn is None):
   while True:
      content = db.all_result.find_one(sort=[('date', -1)])
      dict_key = content["result_back"].keys()
      for in_content in dict_key:
          if content["result_back"][in_content]["proc_name"] in list_bad:
              if content["result_back"][in_content]["pid_conn_back"] in pid:
                  pass
              else:
                  pid.append(content["result_back"][in_content]["pid_conn_back"])

if __name__ == "__main__":
    main()

标签: pythondatabasemongodbnetwork-programming

解决方案


推荐阅读