繁体   English   中英

将MongoDB数组类型值分配给Python变量

[英]Assigning MongoDB Array type value to Python Variable

我很想尝试使用PyMongo将Login和Password JSON参数分配给python变量。 这是存储在Mongo中的JSON:

{"_id":"5a2700c9eb0a197ba6f8120d"
"protocol":"ssh"
"hpfeed_id":"5a2700c7eb0a197ba6f8120a"
"timestamp":"2017-12-05T20:25:43.922Z"
"source_ip":"37.221.198.242"
"session_ssh":{"version":"SSH-2.0-libssh2_1.4.3"}
"source_port":45557
"destination_port":22
"identifier":"da258962-c5b5-11e7-9c0a-1e7dbf5015ae"
"honeypot":"cowrie"
"auth_attempts":[{"login":"worker2","password":"worker2"}]}

在此处输入图片说明

auth_attempts是一个数组类型,我一生都无法弄清楚如何在Python中将其转换为字符串。 到目前为止,这是我一直在尝试的方法:

# Query the MongoDB for required data
def query():
    sessionData = session.find({})
    numOfSessions = session.find({}).count()
    pprint.pprint(session.find_one({'auth_attempts': { 'login': [0] }}))
    for item in sessionData:
       if (item['honeypot'] != 'p0f'):
            test = item({'auth_attempts': { '$in': [0] }})
            print(str(test))

我猜你想要一个类似的字符串:

"login: worker2, password:worker2"

从您的代码段中,您的项目是一个字典。 因此,要以字符串形式获取auth_attempts,您应该可以执行以下操作:

for item in sessionData:
    for auth in item.get('auth_attempts'):
        print('login: {}, password:{}'.format(auth.get('login'), auth.get('password'))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM