TypeError: 'NoneType' object is not subscriptable

查询数据库报错复现:
我在使用 pymongo 访问 users collection 里的数据时,

user = mongo.db.users.find_one({'username': username})

由于该条数据不存在,所以 user 的值变成了 None
但是我又像下面这样去获取 user 的属性,

if password == user['password']:

所以 None 里没有这个属性,肯定就报错了。mongo.db.users.find() 返回列表对象或 None,mongo.db.users.find_one 返回字典对象或 None。

下次遇到要注意排查某个变量是否会变成 None,最好使用 debugger 断点调试.。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 一、MongoDB简介 1.概述 ​ MongoDB是一个基于分布式文件存储的数据库,由C++语言编写。旨在为WE...
    郑元吉阅读 1,125评论 0 2
  • 简介 MongoDB 是一个基于分布式文件存储的NoSQL数据库 由C++语言编写,运行稳定,性能高 旨在为 WE...
    大熊_7d48阅读 37,869评论 1 9
  • 官网下载mongondbhttps://www.mongodb.com根据系统选择相应版本。(这里是3.6,最新的...
    xyzcmu阅读 727评论 0 0
  • pymongo 基本操作 from pymongo import * # 导包 con = Connection(...
    蒋昉霖阅读 2,170评论 0 1
  • 为什么要使用 MongoDB 以及 Pymongo 在程序开发实践中,除了学习代码、算法之外,其他开发有用的程序一...
    speculatecat阅读 3,669评论 2 13

友情链接更多精彩内容