我如何检查过滤后的请求 returns 是否为空数组?

How would I check if a filtered request returns an empty array?

我大约一年半前开始 Javascript 但我大约一周前开始 Python 所以我仍然是初学者。所以我试图弄清楚用户是否已经存储到用户 table 中,如果不是,那么它会将它们添加到其中,如果是,那么它会跳过。

import rethinkdb as r


r.db('bot').table('users').filter(r.row["id"] == "253544423110082589").run()

这段代码应该return

<rethinkdb.net.DefaultCursor object at 0x03DAAE10> (done streaming):
[
]

那么我该如何检查它是否为空?

我试过

if not r.db('bot').table('users').filter(r.row["id"] == "253544423110082589").run():
    # add user to table
else:
    continue

但即使用户不在 table 中,它也会继续。所以请告诉我我做错了什么以及我如何让它真正起作用

我不熟悉你使用的库,但你可以检查 table 的长度。

它可能看起来像这样:

if len(table) == 0:
    # add user to table
else:
    continue

the docs 使用 is_empty 函数:

r.db('bot').table('users').filter(r.row["id"] == "253544423110082589").is_empty().run(conn)

您也可以使用 count

r.db('bot').table('users').filter(r.row["id"] == "253544423110082589").count().run(conn)