问题标签 [reql]
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.
rethinkdb - 应该如何组合复杂的 ReQL 查询?
是否有任何有助于编写复杂 ReQL 查询的最佳实践或 ReQL 功能?
为了说明这一点,想象一张fruits
桌子。每个文档具有以下结构。
如果我们想检索所有绿色水果,我们可以使用以下查询。
但是,在更复杂的情况下,我们可能希望使用各种复杂的命令组合。在这种情况下,可以为每种情况编写定制查询,但这可能难以维护,并且可能违反不要重复自己 (DRY) 原则。相反,我们可能希望编写可以链接自定义命令的定制查询,从而允许以模块化方式组合复杂的查询。这可能采用以下形式。
可以是一个函数,component
它接受命令链中的最后一个实体作为其参数并返回一些内容,如下所示。
这与其说是一个功能提议,不如说是对复杂查询问题的说明,尽管这样一个功能在直觉上看起来确实很有用。
就我个人而言,我自己解决这个问题的努力涉及到创建一个compose
效用函数。它接受一个函数数组作为它的主要参数。每个函数都被调用,传递了查询链的一部分,并期望返回查询链的修改版本。一旦迭代完成,composition
就会返回一个查询组件。这可以在下面查看。
很高兴知道这样的事情是否存在,是否有处理此类情况的最佳实践,或者这是否是 ReQL 可以从改进中受益的领域。
javascript - 使用 REQL 将数组转换为对象
我正在寻找将数组转换为对象的最简洁方法,同时提取用作每个结果的键的字段。
这是我找到的解决方案,我想知道是否有更简单的方法。
谢谢!
例子
javascript - Rethinkdb Append 说属性不存在
我一直在用 Rethinkdb 创建一个数据库。这是我的数据库格式:
然后我尝试在 Array 1 中附加:
但是当我这样做时,我得到一个错误,上面写着:“errors”:1,“first_error”:“Array1
对象中没有属性:。但是这个属性显然存在于数据库中。请帮助:)
rethinkdb - 如何在数组上使用 ReQL 过滤器和匹配命令
我在 rethinkdb 中有一个表,其中每一行都有以下结构 -
我正在运行一个查询来过滤这样的 service2 对象
但这并没有返回任何东西:No results were returned for this query
谁能说出为什么会这样?
rethinkdb - RethinkDB:检查数组中的对象是否存在并替换它
我有这个 JSON 文档:
当用户想要关注作者时,我想编写一个查询来检查该作者是否已被关注,检查 id 以及是否未将新关注的作者附加到数组中。
现在我每次创建一个新条目。这是我的查询:
rethinkdb - 如何向 RethinkDB 中的 Filter 内部函数发送多个参数
您好,我需要以某种方式传递过滤器方法 2 个或更多参数。就像是r.table("N/A").filter(function(arg1,arg2){..code here})
我需要它来做以下事情:
我有一个如下的数据结构:
我想获取所有客户端的列表,对于此列表中的每个客户端,我希望他的属性与其他尊重过滤谓词的客户端合并。我需要将多个参数传递给过滤函数。
我失败的尝试:
.net - 程序方法同步工作,但存在状态码 -1 用于异步对应
我正在使用 rethinkdb,我正在尝试删除表中的所有记录。使用Run
on 查询时,查询工作没有问题,因此是同步的。当使用RunAsync
程序退出时status code -1
。
该程序不会抛出任何异常,所以我应该如何找出它存在的原因?
node.js - rethinkdb:如何按两个属性排序并在其中一个属性之间使用
我们有一个 rethinkdb,里面有票。它们有一个 createdAt 时间戳(以毫秒为单位)和一个优先级属性。
例如
我们现在有以下问题。我们想要一个执行两个 orderBy 的查询……第一个是 orderBy “priority”,也是 “createdAt”。因此,给定过滤器和时间跨度,它应该返回具有最高优先级的票证,并且在优先级内最旧的票证应该在最前面。
我们尝试建立一个具有优先级和 createdAt 的复合索引。这确实有效,但是 .between 没有按预期在该索引上工作。
使用查询:
在我们看来,应该首先按优先级排序,然后按 createdAt 和 .between 进行排序,我们将忽略优先级(因为 .minval 和 .maxval),只获取 timeFrom 和 timeTo 之间的所有票证。
Buuuut 还返回了 createdAt 小于 timeFrom 的票证。所以这不像我们计划的那样工作。就像这样的“问题”:RethinkDB Compound Index Weirdness Using Between
但是我们想不出另一种方法来解决这个问题。
c# - 如何在 RethinkDB 中更新或插入项目?
我正在尝试更新或插入(如果它不存在)数据库中的一个元素,但到目前为止,我还没有找到任何关于如何使用C# ApiUpdate
和Filter
提供的示例。(C# Api,而不是 RethinkDB Reql)。
链接到 api:https ://github.com/bchavez/RethinkDb.Driver
谁能帮我 ?
POCO
这将是插入请求:
如果不存在,我需要playerRequest.data
根据playerId
或插入更新。Player
我已经搜索了 Api,但到目前为止还没有成功。
PS我已经尝试安装 Linq to ReQL 扩展,但方法接缝不可用。
rethinkdb - ReQL 等效于 Select * from table where id in ()
我是 RethinkDB 的新手,我有一个对象 id 数组,我想从 id 属于该数组的表中获取对象。
SQL查询将是 -
我尝试在 myREQL 控制台中进行以下操作-
它给了我错误-
我提到了这个https://rethinkdb.com/api/python/contains/
我究竟做错了什么?