python - 在 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()
解决方案
推荐阅读
- apache - 仅当子域中的特定字符串匹配时才使用 Apache ProxyPass
- scala - Spark SQL 使用窗口 - 根据列条件从当前行之后的行中收集数据
- javascript - SAPUI5:异步/等待的“意外令牌功能”
- php - PHP/ODBC 连接在没有凭据的情况下无法工作
- neo4j - neo4j:使用后的多个值
- ruby-on-rails - 如何使用 RSpec 控制器规范触发并发请求?
- scala - 如何安全地对 spark 数据框行进行 getAs 操作?
- javascript - 遍历一个 JSON 对象并根据指定的值返回一个键
- c# - C# 播放音乐
- python - Python Pygame赢得对角线移动不起作用