PyMongo $ set / update中的错字导致TypeError:无法散列的类型:'dict'

时间:2020-11-10 19:34:53

标签: python-3.x pymongo

我要亲自回答。只是添加以防其他人遇到相同的问题。

find_query = {'_id': doc['_id']}
upd_statement = {'$set:',
                 {'subdivision_name': new_name}
                 }
dbCollection.update_one(find_query, upd_statement, upsert=False)

错误:

TypeError:不可散列的类型:'dict'

1 个答案:

答案 0 :(得分:0)

在下一行中,我用逗号而不是冒号(并且引号内也有冒号,这将是后面的问题)。

upd_statement = {'$set':
                    { 'subdivision_name':  new_name}
                }

有时候快速键入并在JSON和其他格式之间切换时,我搞砸了JSON ...或者将非PyMongo示例复制到Python中时可能发生。