如何检查筛选后的请求是否返回空数组



我大约在一年半前开始使用Javascript,但大约在一周前开始使用Python,所以我仍然是这方面的初学者。因此,我试图弄清楚一个用户是否已经存储在users表中,如果他们没有,那么它会将他们添加到其中,如果他们是,那么它就会跳过。

import rethinkdb as r

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

该代码应返回

<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

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

从文档使用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)

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

它可能看起来像这样:

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

最新更新