如何手动向本地QueryDocumentSnapshot列表添加文档字段?
解决方案
你需要手动创建一个QueryDocumentSnapshot实例,因为globalVideosUrls的类型是List<QueryDocumentSnapshot>,只能添加该类型的对象。具体代码如下:
// 1. 创建对应文档的引用(指定集合和目标文档ID) final targetDocRef = FirebaseFirestore.instance.collection('users').doc('00dcb026-3163-4ca0-859e'); // 2. 生成QueryDocumentSnapshot实例,传入文档引用和字段数据 final manualSnapshot = QueryDocumentSnapshot( targetDocRef, { 'videoType': 'peace', 'url': 'url', }, ); // 3. 添加到列表中 globalVideosUrls.add(manualSnapshot);
也可以合并成一行简化写法:
globalVideosUrls.add( QueryDocumentSnapshot( FirebaseFirestore.instance.collection('users').doc('00dcb026-3163-4ca0-859e'), {'videoType': 'peace', 'url': 'url'}, ), );
说明
QueryDocumentSnapshot的构造需要两个必填参数:文档引用(DocumentReference)和文档数据(Map<String, dynamic>)- 文档引用中的集合名称要和你之前查询的
users保持一致,确保逻辑统一
内容的提问来源于stack exchange,提问作者Mohammed Hamdan
相关产品推荐
相关产品推荐

