标签: rethinkdb

RethinkDB - 查找缺少字段的文档

我正在尝试编写最优的查询来查找没有特定字段的所有文档.有没有比我下面列出的例子更好的方法呢?

// Get the ids of all documents missing "location"
r.db("mydb").table("mytable").filter({location: null},{default: true}).pluck("id")

// Get a count of all documents missing "location"
r.db("mydb").table("mytable").filter({location: null},{default: true}).count()
Run Code Online (Sandbox Code Playgroud)

现在,这些查询在一个包含~40k文档的表上大约需要300-400ms,这看起来相当慢.此外,在这种特定情况下,"位置"属性包含纬度/经度并具有地理空间索引.

有没有办法实现这个目标?谢谢!

query-optimization rethinkdb

9
推荐指数
1
解决办法
1557
查看次数

如何将用户名和密码添加到Rethinkdb连接?

如何为rethinkdb连接添加用户名和密码?

在我的网络中有100多台机器.其中只有2台机器在我的控制之下.2个中,一个是虚拟机,一个是物理机.

如果我rethinkdb使用以下命令在虚拟机上运行

rethinkdb --bind all
Run Code Online (Sandbox Code Playgroud)

现在我rethinkdb http:// ip:8080接触到网络中的所有机器.如何设置用户名和密码来限制他人?

如果我localhost:8080在虚拟机中使用,则管理HTTP连接是无用的,因为它既不能在物理机器上也不在虚拟机上访问.

我该如何解决这个问题?

谢谢

rethinkdb

8
推荐指数
2
解决办法
3390
查看次数

RethinkDB可以处理大型数据集(TB +)并作为OLAP应用程序的DB吗?

RethinkDB可以有效地处理大型数据集(即多个tera字节)作为分析应用程序的DB吗?

olap bigdata rethinkdb

8
推荐指数
1
解决办法
2287
查看次数

RethinkDB在单个请求中进行多次查询

我正在尝试在单个服务器请求中执行多个RQL命令,但我没有太多成功.我试过了r.union,但它只适用于序列.我真正想要的是:

[r.db(..).table(..).get(id1).delete(),
 r.db(..).table(..).get(id2).delete(),
 r.db(..).table(..).insert(...)].run_all_at_once
Run Code Online (Sandbox Code Playgroud)

有没有办法做到这一点?

谢谢!

ruby rethinkdb rethinkdb-ruby

8
推荐指数
2
解决办法
1426
查看次数

rql从javascript中的密钥rethinkdb列表中获取多个文档

我有一个"人"数据表,它有一个唯一的键"id".我有一个id列表,我想要获取我将作为JSON数组从客户端发送到服务器的数据.服务器将该数据作为JSON数组接收.

现在有一种方法可以运行查询来获取每个ID的文档吗?

或者是我自己解析id并构建一个结果数组的唯一选择,然后将该数组发回.

到目前为止我已经尝试过使用......

javascript dynamic rethinkdb

8
推荐指数
2
解决办法
2376
查看次数

RethinkDB:​​迭代对象属性

我有以下数据结构:

{
    slug: "wall-slug",
    nodes: {
        "node1": "id-from-nodes-table-1",
        "node2": "id-from-nodes-table-2"
    }
}
Run Code Online (Sandbox Code Playgroud)

节点

{
    id: "id-from-nodes-table-1",
    something: "something"
}
Run Code Online (Sandbox Code Playgroud)

尝试以这种方式将来自节点表的文档合并到wall表中的节点对象中的明确节点:

r.db("test").table("walls").getAll("wall-slug", {index: "slug"}).map(function(row) {
    return row.merge({nodes: row("nodes").map(function(node) {
        return r.db("test").table("nodes").get(node);
    })});
})
Run Code Online (Sandbox Code Playgroud)

它应该看起来像这样:

{
    slug: "wall-slug",
    nodes: {
        "node1": {object from nodes table got by value from this property},
        "node2": {object from nodes table got by value from this property}
    }
}
Run Code Online (Sandbox Code Playgroud)

但我得到"无法将OBJECT转换为SEQUENCE"消息 - 找不到迭代节点对象属性的方法,并用另一个表中的对象替换它的属性值 - 是否有?

rethinkdb

8
推荐指数
1
解决办法
1898
查看次数

查询嵌套对象数组

假设我有一个存储在名为'test'的RethinkDB表中的JSON(示例 - 可以在apple itunes rss feed中找到的实例):

{
    "feed": {
        "entry": [
            {
                "title": {
                    "label": "Some super duper app"
                },
                "summary": {
                    "label": "Bla bla bla..."
                }
            },
            {
                "title": {
                    "label": "Another awsome app"
                },
                "summary": {
                    "label": "Lorem ipsum blabla..."
                }
            }
        ]
    }
}
Run Code Online (Sandbox Code Playgroud)

我将如何使用JavaScript编写一个查询ReQL为了获取汇总的所有条目(中entry具有)标题包含字符串"XYZ"?我希望查询结果返回一个匹配的条目对象数组,而不是匹配的feed数组.

rethinkdb

8
推荐指数
1
解决办法
2610
查看次数

使用组运算符时的时间假型而不是ISO8601

我开始使用RethinkDB,我在理解正在运行的一些查询时遇到了什么问题.

问题是使用暴露JSON API 的NodeJS应用程序(使用rethinkdbdash驱动程序)查询具有日期时间类型的对象 .如果我单独查询我的对象,如:

db.table('apples').max('timestamp');
Run Code Online (Sandbox Code Playgroud)

我获取时间戳字段的JavaScript日期,而如果我在查询中运行group by运算符,如:

db.table('apples').group('type').max('timestamp');
Run Code Online (Sandbox Code Playgroud)

我得到相同时间戳字段的日期时间假型(我认为这是正确的名称).就像是:

{
  "$reql_type$": "TIME",
  "epoch_time": 1423077646.772,
  "timezone": "-07:00"
}
Run Code Online (Sandbox Code Playgroud)

这是预期的行为吗?它背后的逻辑是什么?

我想在我的JSON中返回序列化的iso8601日期,而不是这种数据类型,以使解析对客户端透明.

谢谢,


更新 这是2.2.7之前版本的已知问题.固定在这里.

rethinkdb rethinkdb-javascript

8
推荐指数
1
解决办法
250
查看次数

为什么Rethinkdb没有windows的二进制文件?

我对Rethinkdb感兴趣,并希望开发/测试它,但主要问题是:它没有Windows操作系统的包.我试图从源代码编译,这也是不可能的,因为没有任何指令.

使Windows可执行文件变得如此困难的原因是什么?有没有其他方法在Windows操作系统中安装Rethinkdb?即使非常小,并没有那个着名的应用程序有Windows二进制,但没有Rethinkdb.这让我很惊讶.另一个令人惊讶的是,有许多社区可执行文件用于其他操作系统但不是Windows

感谢您的理解并等待好的答案.

rethinkdb

7
推荐指数
1
解决办法
2931
查看次数

最大连接数是多少?

由于本机RethinkDB驱动程序还不支持连接池,我想知道,RethinkDB服务器的最大连接数是多少?

rethinkdb

7
推荐指数
1
解决办法
1162
查看次数