python-3.x 如何知道查询不返回文档

qgzx9mmu  于 11个月前  发布在  Python
关注(0)|答案(2)|浏览(118)

我怎么知道docs是否为空?我无法执行len(docs)

docs = query.stream()
for doc in docs:
    // do something

字符串
我需要知道是否没有与查询匹配的文档
谢谢你,谢谢

rjee0c15

rjee0c151#

因为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")

字符串
否则,你不得不围绕流的生成器构建自己的生成器,以允许窥视。

fwzugrvs

fwzugrvs2#

您可以直接使用查询及其方法get(),而不是使用stream()返回的生成器。
get方法运行查询并将文档收集到一个您可以访问的列表中。如果没有与查询匹配的文档,则此列表为空。

docs = query.get()
if not docs:
    # do something
else : 
    for doc in docs :
        doc = doc.to_dict()
        # do something

字符串

相关问题