Typo in PyMongo $set/update causes TypeError: unhashable type: 'dict'

Typo in PyMongo $set/update causes TypeError: unhashable type: 'dict'

我要自己回答这个问题。只是添加以防其他人遇到同样的问题。

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

错误:

TypeError: unhashable type: 'dict'

在下一行中,我使用了逗号而不是冒号(而且我还在引号内使用了冒号,这将是稍后的问题)。

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

有时在快速输入和在 JSON 和其他格式之间切换时,我弄乱了 JSON... 或者在将非 PyMongo 示例复制到 Python 时可能会发生。