我怎么知道docs是否为空?我无法执行len(docs)
len(docs)
docs = query.stream() for doc in docs: // do something
字符串我需要知道是否没有与查询匹配的文档谢谢你,谢谢
rjee0c151#
因为stream()返回一个生成器,所以没有一种简单的方法可以在不实际阅读它的情况下确定它是否为空。到目前为止,最简单的解决方案是延迟知道,直到你通过了循环。类似于这样:
stream()
docs = query.stream() stream_empty = True for doc in docs: stream_empty = False # do something if stream_empty: print("it was empty") else: print("it wasn't empty")
字符串否则,你不得不围绕流的生成器构建自己的生成器,以允许窥视。
fwzugrvs2#
您可以直接使用查询及其方法get(),而不是使用stream()返回的生成器。get方法运行查询并将文档收集到一个您可以访问的列表中。如果没有与查询匹配的文档,则此列表为空。
get()
docs = query.get() if not docs: # do something else : for doc in docs : doc = doc.to_dict() # do something
字符串
2条答案
按热度按时间rjee0c151#
因为
stream()
返回一个生成器,所以没有一种简单的方法可以在不实际阅读它的情况下确定它是否为空。到目前为止,最简单的解决方案是延迟知道,直到你通过了循环。类似于这样:
字符串
否则,你不得不围绕流的生成器构建自己的生成器,以允许窥视。
fwzugrvs2#
您可以直接使用查询及其方法
get()
,而不是使用stream()
返回的生成器。get方法运行查询并将文档收集到一个您可以访问的列表中。如果没有与查询匹配的文档,则此列表为空。
字符串