问题标签 [rethinkdb-javascript]

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 投票
2 回答
60 浏览

rethinkdb - `waitForIndex` 无法正常工作

在下面启动脚本时,我遇到了一个错误

但是再次启动脚本,我没有问题。

这是 RethinkDB 的问题还是我的问题?并告诉我解决方案。

0 投票
2 回答
104 浏览

rethinkdb - RethinkDB:​​.get() 仅包含 uuid 的一部分?

假设这是我在 RethinkDB 中的一份文档的 uuid:594a64ab-b78b-4838-a79f-318020a352a9

通常,要检索文档,我会:

r.db("databasename").table("tablename").get('594a64ab-b78b-4838-a79f-318020a352a9')

有什么方法可以只用 uuid 的一些前缀部分来实现同样的事情吗?例如我想这样做:

r.db("databasename").table("tablename").getByPrefix('594a64ab-b78b')

这可能吗?

0 投票
0 回答
52 浏览

javascript - Rehinkdb,获取更改后的行数()

我是 Rethinkdb 和 ReQL api 的新手。而且我想知道在插入()新行之后获取表的count()的最佳方法是什么?

这是我实际的 javascript 实现,但我认为它可以改进

r.table('likes') .changes() .run(conn) .then(cursor => cursor.each(() => { r.table('likes') .count() .run(conn, (err, result) => console.log(result)) }) })

然后当我添加新行时

r.table('likes') .insert({ time: (new Date()).getTime() }) .run(conn)

谢谢您的帮助!

0 投票
1 回答
103 浏览

database - RethinkDB 更新嵌套数组中的元素

嗨,我正在尝试为纸牌游戏 Decks 制作数据库。在“deck_list”中,有用户创建的甲板列表。每当用户添加一个新的牌组时,它就会被插入到 deck_list 中。

但是,当牌组的名称已经存在时,应该更新牌组,而不是插入牌组。

前任。如果插入了一些名为“Deck2”的牌组,则应将其添加到表格中

但是当添加“Deck1”时,旧的“Deck1”应该被新的“Deck1”替换。

0 投票
0 回答
25 浏览

ember.js - 获取 RethinkDB: RqlDriverError: Handshake timedout

我使用 RethinkDB 作为带有 ember.js 的数据库后端,但是当我尝试运行它时,我得到了

db.js在我文件的第 12 行

这是我的 db.js 文件

这是我的 default.json5,我在其中配置我的数据库地址

不知道出了什么问题。

0 投票
1 回答
49 浏览

rethinkdb-javascript - 编译错误 r.db("test").tableCreate("authors").run(conn);

我已经设置了要使用的 Rethinkdb,我正在尝试使用 Java 驱动程序通过 Java 程序连接到 DB。我从http://mvnrepository.com/artifact/com.rethinkdb/rethinkdb-driver/2.3.1下载了 RethinkDB java driver 2.3.1 。
但是我在这个简单的程序中得到了以下编译错误。
你能告诉我为什么我得到这个编译错误吗?

完整的程序

0 投票
1 回答
474 浏览

rethinkdb - 我应该明确关闭 RethinkDB 连接吗?

我对 RethinkDB 中的连接如何工作有点模糊。每次执行查询时我都会打开一个新连接,而不会在查询完成后关闭它们。

这是一个好习惯吗?还是应该在查询完成后明确关闭连接?

(我正在使用 JS 驱动程序。我不相信文档说明了这一点)

[编辑因为以前的帖子标题含糊]

0 投票
1 回答
43 浏览

rethinkdb - 通过嵌套数组更新/合并文档

上下文:在客户端上,修改了一个字段,并且该更改作为键路径-值对传播到服务器。我从一个 keypath 开始,比如foo.bar.baz= cat,我可以将其转换为{foo: {bar: {baz: "cat"}}}然后merge进入我的文档(可能看起来像{foo: {bar: {baz: "dog"}}})。

到目前为止,这对所有objects都很好,但是当我需要对array做某事时它会崩溃。


假设我在 RethinkDB 中的文档如下所示{name: "Me", pets: [{name: "Shadow"}]}:用户决定更新宠物的名字,所以 keypath 看起来像pets[0].name= Sparky。据我所知,这不能简单地(或非平凡地,就此而言)转换为我可以传递给merge. 或者可以吗?想法?

0 投票
1 回答
55 浏览

rethinkdb - rethinkdb 分组计算用户资金余额

我正在将 rethinkdb 与 nodejs 一起使用。我有一个资金表,我试图通过添加所有贷方条目减去总借方条目来计算任何用户的余额。到目前为止,我能够运行以下查询。

r.db('testDB').table('funds').filter({userId:'63755d1e-e82e-4072-8312-4fcd88f1dfd3'}).group(function(g){ return g('userId') } )

这将产生以下结果。

我曾尝试使用 concatMap 函数,并在其中尝试使用分支检查其借方或贷方但它不起作用。

e: 无法将 STRING 转换为 SEQUENCE 在:

另一种使用reduce函数的方法为我提供了所有贷项的总和,但我不知道如何汇总所有借方。

结果是 1050

0 投票
1 回答
108 浏览

rethinkdb - 使用 forEach 和/或 toArray 跨不同表的迭代命令

我需要遍历主表并将新文档添加到不同的表中,每个表都包含id:name:主表中的文档匹配的条目。

我已经阅读了相关文档,这是可耻的稀疏,我发现这篇关于迭代同一个表内的对象属性的SO 帖子,但这并不适用,因为我想迭代表上的对象,而不是对象中的属性,并将结果应用到一个新表(而不是同一个表)。

我可以遍历表的长度并创建与新表中某些字段匹配的文档吗?

更具体地说:我的数据库中的文档primary_table具有字段id:name.我如何将这些 id 和相应的名称迁移到使用 、 和 的一个或组合详细说明的表payment_history中?forEachtoArraynext

我的尝试:

提前致谢