亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如果同一集合具有來自 python 的不同元素,則無法從 MongoDB 檢索數據

如果同一集合具有來自 python 的不同元素,則無法從 MongoDB 檢索數據

慕哥6287543 2023-04-25 16:59:09
我在 MongoDB 集合中有一組 JSON,它們由 webhooks 接收,我無法控制它,并且一組元素與另一組元素不同。我能夠檢索那些對所有其他數據具有相同鍵的元素。但我需要檢索這些數據,無論它是否存在于其他文檔中。附上 MongoDB 中存在的值的圖片。我正在使用下面的代碼將 webhooks 插入到 [email protected]('/webhook', methods=['POST', 'GET'])def respond():    collection10 = db['webhooks']    a = request.get_json()    print(a)    collection10.insert_many(a)    return render_template("signin.html")假設我嘗試檢索“_id”,我可以輕松檢索,因為兩個數據都有“_id”。但是,如果我嘗試檢索那些存在于一個元素中而不存在于另一個元素中的元素,則會出現錯誤。我正在使用此代碼來檢索元素:@app.route('/webhookdisplay', methods=['POST', 'GET'])def webhooksdis():    collection10 = db['webhooks']    for i in collection10.find({}):        posts = i['name']        print(posts)    return render_template("webhooks.html", posts = posts)對于上面的代碼,我得到錯誤鍵錯誤:'名稱'如果我以與上述相同的方式檢索“_id”,它將被檢索。預期結果:我需要檢索嵌套數據,無論它是否存在于其他數據中。如果有任何其他方法可以在 HTML 頁面中以表格形式顯示特定數據,那就太好了目的一旦獲得個人數據,我就可以使用 Jinja 以表格形式在前端呈現相同的數據
查看完整描述

1 回答

?
aluckdog

TA貢獻1847條經驗 獲得超7個贊

如果您不確定返回的記錄是否包含特定鍵,那么您應該使用內置.get()函數。如果鍵不存在,默認情況下返回 None ,這與使用方括號引用不同。這將避免您看到的 KeyError 異常。

posts = i.get('name')


if posts is None:

? ? # Handle logic if name doesn't exist

編輯:如果您需要嵌套字段:


name = i.get('data', {}).get('geofence_metadata', {}).get('name')


查看完整回答
反對 回復 2023-04-25
  • 1 回答
  • 0 關注
  • 112 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號