Как получить базу данных и имя таблицы из запроса ReQL

Предположим, у меня есть следующий запрос RethinkDB (как напечатано в iPython):

In [32]: data_to_archive
Out[32]: <RqlQuery instance: r.db('sensor_db').table('sensor_data').filter(lambda var_2: (r.row['timestamp'] < (r.now() - r.expr(259200.0)))) >

Запрос находится в базе данных sensor_db и стол sensor_dataКак видно из распечатки. Есть ли способ, которым я могу получить эту информацию в качестве атрибута RqlQuery пример?

(Причина, по которой я хочу сделать это, состоит в том, чтобы написать краткий код: запрос, база данных и таблица в настоящее время все передаются в качестве входных аргументов функции, но последние два фактически содержатся в первом).

1 ответ

Решение

Не уверен, что он существует. Между тем, маленькое уродство никому не повредило, кроме моей мамы:

In [57]: mom = lambda q, fn: re.search(fn + "\(\'(.*?)\'\)", str(q)).group(1)

In [58]: rql = r.db("foo").table('bar').filter(lambda x: x)

In [59]: mom(rql, 'db')
Out[59]: 'foo'

In [60]: mom(rql, 'table')
Out[60]: 'bar'
Другие вопросы по тегам