Firestore中DocumentSnapshot与QueryDocumentSnapshot的区别解析
关于Firestore的QueryDocumentSnapshot,你需要知道这些:
核心定位
QueryDocumentSnapshot是Firestore查询返回结果里的文档数据载体,它只对应数据库中实际存在的文档,不存在查询到空文档的情况。数据提取方法
要获取文档内的数据,你有两种常用方式:- 调用
getData()方法,一次性获取文档的全部数据 - 调用
get()方法,传入具体字段名来获取单个字段的值
- 调用
API兼容性
它和DocumentSnapshot拥有完全一致的API接口,如果你之前有使用DocumentSnapshot的经验,操作QueryDocumentSnapshot会非常顺手。固定特性
由于它仅关联已存在的文档,所以有两个确定的行为:- 调用
exists()方法始终返回true getData()方法永远不会返回null,无需额外做空值判断
- 调用
官方文档原文说明:
QueryDocumentSnapshot包含作为查询一部分从Firestore数据库中读取的文档数据。该文档保证存在,其数据可通过getData()或get()方法提取。QueryDocumentSnapshot与DocumentSnapshot拥有相同的API接口。由于查询结果仅包含已存在的文档,exists()方法将始终返回true,且getData()永远不会为null。
内容的提问来源于stack exchange,提问作者Florian Walther
相关产品推荐
相关产品推荐

