簡體   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