我怎么知道文档是否为空?我无法len(docs)
docs = query.stream()
for doc in docs:
// do something
我需要知道是否没有与查询匹配的文件
谢谢!
答案 0 :(得分:1)
自stream()
returns a generator以来,没有一种简单的方法可以在不实际读取的情况下确定它是否为空。
到目前为止,最简单的解决方案将延迟知道,直到您经过循环。像这样:
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")
否则,您将不得不围绕允许窥视的流的生成器构建自己的生成器。参见this question。
答案 1 :(得分:0)
您可以直接使用查询及其方法 stream()
,而不是使用 get()
返回的生成器。
get 方法运行查询并收集您可以访问的列表中的文档。如果没有文档与查询匹配,则此列表为空。
docs = query.get()
if not docs:
# do something
else :
for doc in docs :
doc = doc.to_dict()
# do something