如何使用 Flutter future<bool> 检查 Firestore 中是不是存在子集合
Posted
技术标签:
【中文标题】如何使用 Flutter future<bool> 检查 Firestore 中是不是存在子集合【英文标题】:How to check if subcollection exists in Firestore with Flutter future<bool>如何使用 Flutter future<bool> 检查 Firestore 中是否存在子集合 【发布时间】:2021-01-29 20:45:06 【问题描述】:如果存在某些子集合,我在从 Firestore 查询中返回 true
/false
语句时遇到问题。
这是我的代码:
Future<bool> checkIfCollectionExist(
String collectionName, String productId) async
await _db
.collection('products')
.doc(productId)
.collection(collectionName)
.limit(1)
.get()
.then((value)
return value.docs.isNotEmpty;
);
结果我得到了Future<bool>
的实例,但我需要true
/false
的答案。
我在这里做错了什么?
【问题讨论】:
【参考方案1】:使用
Future<bool> checkIfCollectionExist(String collectionName, String productId) async
var value = await _db
.collection('products')
.doc(productId)
.collection(collectionName)
.limit(1)
.get();
return value.docs.isNotEmpty;
或者
Future<bool> checkIfCollectionExist(String collectionName, String productId)
return _db
.collection('products')
.doc(productId)
.collection(collectionName)
.limit(1)
.get()
.then((value)
return value.docs.isNotEmpty;
);
【讨论】:
以上是关于如何使用 Flutter future<bool> 检查 Firestore 中是不是存在子集合的主要内容,如果未能解决你的问题,请参考以下文章
参数类型“Future<bool>”不能分配给参数类型“bool”
如何修复 Flutter 中的“参数类型 'Future<int>' 无法分配给参数类型 'int'”
如何使用 Flutter future<bool> 检查 Firestore 中是不是存在子集合
如何将 Future<dynamic> 转换为 dart:flutter 中的字符串