问题标签 [rethinkdb-python]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
15358 浏览

rethinkdb - 如何从 RethinkDB 文档中删除密钥?

我正在尝试从 RethinkDB 文档中删除密钥。我的方法(不起作用):

其他方法:

这个只是设置 row.key = null (看起来很合理)。

通过 Web UI在rethinkdb 数据浏览器上测试的示例。

0 投票
1 回答
372 浏览

rethinkdb - 如何在单个 RethinkDB 请求中响应多个查询?

我想压缩两个请求:

在一个单一的。就像是:

0 投票
1 回答
1114 浏览

rethinkdb - 如何在 rethinkdb 中创建复合多索引?

我正在使用带有官方 python 驱动程序的 Rethinkdb 1.10.1。我有一个与一个用户关联的标记事物表:

我想通过user_idand查询tag(例如,通过用户“tawmas”查找所有带有标签“tag”的东西)。从 Rethinkdb 1.10 开始,我可以像这样创建一个多索引:

我的查询将是:

但是,这个查询仍然需要扫描所有带有给定标签的文档,所以我想创建一个基于 user_id 和 tags 字段的复合索引。这样的索引将允许我查询:

文档中没有关于复合多索引的内容。但是,我尝试使用自定义索引函数,通过返回对列表来结合复合索引和多索引的要求["USER_PK", "tag"]

我的第一次尝试是在 python 中:

这使得 python 驱动程序因MemoryError试图解析索引函数而窒息(我猜驱动程序并不真正支持列表推导)。

所以,我转向我的(诚然,生锈的)javascript并想出了这个:

这被服务器拒绝了一个奇怪的例外:rethinkdb.errors.RqlRuntimeError: Could not prove function deterministic. Index functions must be deterministic.

那么,定义复合多索引的正确方法是什么?还是目前不支持的东西?

0 投票
1 回答
77 浏览

rethinkdb - rethinkdb 查询中的非写入替换/更新

我是 rethinkdb 的新手,遇到了简单的麻烦。假设我有以下对象结构:

因此“A”的实例与两个“B”实例保持关系。

我应该在 rethinkdb 中执行什么查询来检索以下响应?

我希望看到 B 的实例而不是它们的 id 作为响应,并且我不希望保存此更改。

0 投票
1 回答
85 浏览

rethinkdb - 获取 Rethinkdb 索引元数据

我想获取有关 Rethinkdb 表上的索引的元数据,例如

  • 什么表达式用于任意索引
  • 复合索引使用哪些字段
  • 索引是否为多

如何通过管理界面获取此信息?通过 Python API?

谢谢!

0 投票
3 回答
1207 浏览

rethinkdb - RethinkDB:​​获取在任何字段中包含字符串的所有文档

我想执行一个查询,该查询将返回在其任何字段中包含给定字符串的所有文档。例如,假设我有一个“users”表,我正在查找所有包含“john”的文档,返回的结果可以是:

[{"first_name": "jhon", "last_name": "watson"}, {"first_name": "elton", "last_name": "john"}, {"first_name": "sherlock", "last_name": "holmes", "best_friend": "john watson"}]

我如何在 rethinkdb 中做到这一点?javascript回答会做,python实现会更好。

0 投票
3 回答
800 浏览

rethinkdb - rethinkdb: "RqlRuntimeError: Array over size limit" 即使使用 limit()

我正在尝试访问按“日期”键排序的表的恒定数量的最新文档。请注意,不幸的是,日期是由(不是我......)实现的,因此该值被设置为字符串,例如“2014-01-14”,或者有时是“2014-01-14 22:22:22” . "RqlRuntimeError: Array over size limit 102173"使用以下查询时,我收到一条错误消息:

我试图通过指定一个恒定的限制来克服这个问题,因为现在我只需要最新的 50 个:

以同样的错误结束。所以,我的问题是:

  1. 如何按日期获取恒定数量的最新文档?

  2. 是否可以按基于字符串的日期字段排序?这个问题与我的第一个问题有关吗?

0 投票
1 回答
1084 浏览

rethinkdb - 如何在 rethinkdb 中获取日期之间的行?

按照这里的答案,我通过索引“日期”字段并像这样查询来从表中获取最新的行:

如果“日期”值被实现为字符串(例如“2013-12-31”或“2013-12-31 22:22:22”),我如何在日期之间进行过滤?

0 投票
1 回答
266 浏览

rethinkdb - RethinkDB 查询计划

我想看看为 RethinkDB 编写的复杂查询的查询执行计划。我怎样才能打开它?我已经查看了其他论坛,但我没有得到提示是否存在这样的功能。

0 投票
1 回答
762 浏览

rethinkdb - RethinkDB:​​如何在三个表上进行递归连接?

我正在使用 Python Flask 开发一个带有 JSON API 的平台。在某些情况下,我需要加入三个表。如何连接具有一组 ID 的表给了我一些指导,但我需要一个解决方案。

假设我们有三个用于消息传递应用程序的表。

  1. 账户
  2. 对话
  3. 留言
  4. 留言阅读器

帐户表片段

对话表片段

消息表片段

消息阅读器表片段

我的问题是“当我收到对 id="account111" 的帐户文档的获取请求时,获取以下文档的神奇查询是什么?”

任何指导或建议都会很棒。JavaScript 或 Python 代码会很棒。