0
我使用Python從Mongo獲取數據。我將光標中的所有文檔移動到數組中。然後我處理文檔並嘗試向對象/字典添加一些新屬性,但它說KeyError。在嘗試修改mongo返回的對象時,我在Nodejs中看到了這種行爲,並且存在query.lean()。exec()方法來獲取普通對象。 pymongo有相同的嗎?無法將屬性添加到從python返回的mongo對象中
我使用Python從Mongo獲取數據。我將光標中的所有文檔移動到數組中。然後我處理文檔並嘗試向對象/字典添加一些新屬性,但它說KeyError。在嘗試修改mongo返回的對象時,我在Nodejs中看到了這種行爲,並且存在query.lean()。exec()方法來獲取普通對象。 pymongo有相同的嗎?無法將屬性添加到從python返回的mongo對象中
在字典上設置新鍵時,不會引發KeyError錯誤。意思是你做錯了什麼。
見當KeyError異常升高:https://stackoverflow.com/a/10116540/4273834
只是爲了回顧一下:一個KeyError異常不提高,如果你嘗試設置鍵,而是如果你試着去理解它不存在的鍵的值。
下面的代碼片段,其工作原理:
cursor = col.find({})
my_list = list(cursor)
my_list[0]['added_field'] = 'whatever'
只是一個側面說明:表(光標)不是如何處理在Python數據的方式。推薦的方法是遍歷光標直接(除非有一些特殊原因,有一個列表...):
for doc in cursor:
doc['new_key'] = 'test'
do_whatever_you_want_with_the_doc(doc)
您使用'nontree'風格,所以'蒙戈>轉儲>變化> update'因爲對mongo-hash(mongo-hash)''不可能的'mongo-hash'!如果您的更新包含另一個「查詢過濾器」,則會遇到大問題。檢查此:http://stackoverflow.com/questions/18363472/mongoose-lean-query-virtuals-not-showing – dsgdfg
我不明白。我做了查詢並獲得了數據。現在我試圖在我的程序中操作它。我還沒有更新數據庫本身(還)。 – user137717
使用'jsonID',所以定義任何'_id'? https://docs.mongodb.com/manual/reference/method/db.collection.update/ @ user137717 – dsgdfg