标签: rethinkdb

filter + orderby的RethinkDB索引

让我们说评论表具有以下结构:

id | author | timestamp | body
Run Code Online (Sandbox Code Playgroud)

我想使用索引来有效地执行以下查询:

r.table('comments').getAll("me", {index: "author"}).orderBy('timestamp').run(conn, callback)
Run Code Online (Sandbox Code Playgroud)

我可以使用其他有效的方法吗?

看起来当前索引不支持表的过滤结果.在创建索引timestamp并将其添加为提示时,orderBy('timestamp', {index: timestamp})我收到以下错误:

RqlRuntimeError:索引order_by只能在TABLE上执行.在:

rethinkdb

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

RethinkDB:​​通过另一个表中的值从一个表中的数组中删除项

我在我的项目中使用RethinkDB并具有以下表结构:

data_item {
    id: "generated_thing",
    slug: "slug"
}

aggregation_of_data_items {
    items: ["some", "ids", "from", "data_item", "table"]
}
Run Code Online (Sandbox Code Playgroud)

当我从内容表中删除项目时,我希望保持数据一致 - 从aggregation_of_data_items.items数组中删除ID - 是否有机会在一个请求中执行此操作(类似于MongoDB中的$ pull或$ pullAll)?

rethinkdb

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

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

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

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

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

rethinkdb

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

重新启动服务器后RethinkDB丢失数据

我将数据保存在RethinkDB数据库中.只要我不重启服务器,一切都很好.但是当我重新启动时,它给出了一个错误,说数据库不存在,尽管文件夹和数据确实存在于文件夹rethinkdb_data中.问题是什么 ?

python rethinkdb rethinkdb-python ubuntu-14.04

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

如何在RethinkDB中重命名数据库

在api文档页面rethinkdb.com/api/javascript我只能找到创建,删除和列出数据库的命令.

但是如何在RethinkDB中重命名数据库呢?

rethinkdb

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

如何在对象数组中查询RethinkDB中的多索引

我正在使用一个看起来像这样的数据集:

"bitrates": [
  {
    "format":  "mp3" ,
    "rate":  "128K"
  } ,
  {
    "format":  "aac" ,
    "rate":  "192K"
  }
] ,
"details": [ ... ] ,
"id": 1 ,
"name":  "For Those About To Rock We Salute You" ,
"price": 1026 ,
"requires_shipping": false ,
"sku":  "ALBUM-1" 
}
Run Code Online (Sandbox Code Playgroud)

我想在bitratesflexing 上创建一个二级索引{multi:true}.这是我的尝试:

r.db("music").table("catalog").indexCreate("bitrates", {multi: true})
Run Code Online (Sandbox Code Playgroud)

索引构建得很好,但是当我查询它时,没有任何返回 - 这似乎与我在这里读到的每个例子相反:

http://rethinkdb.com/docs/secondary-indexes/javascript/

我写的查询是这样的:

r.db("music").table("catalog").getAll(["mp3", "128K"], {index : "bitrates"})
Run Code Online (Sandbox Code Playgroud)

没有错误,只有0个结果(我有300个左右的文档,包含这些确切的数据).

我正在使用RethinkDB 2.0 RC1.

rethinkdb

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

如何更新嵌入式文件?

如何将第二条评论的文本更新为"新内容"

{
  name: 'Me',
  comments: [{
        "author": "Joe S.",
        "text": "I'm Thirsty"
    },
    {
        "author": "Adder K.",
        "text":  "old content"
    }]
}
Run Code Online (Sandbox Code Playgroud)

document insert-update rethinkdb

6
推荐指数
1
解决办法
2058
查看次数

为Raspberry Pi交叉编译rethinkdb

目前正在运行Ubuntu 14.04 x86_64.我想为我的RPi交叉编译rethinkdb用于实验目的,这在1.12中得到支持(人们显然已成功编译).

我已经安装了工具链:

sudo apt-get install g++-4.7-arm-linux-gnueabi gcc-arm-linux-gnueabi

export CXX=/usr/bin/arm-linux-gnueabi-g++-4.7
export CC=/usr/bin/arm-linux-gnueabi-gcc-4.7
export AR=/usr/bin/arm-linux-gnueabi-ar
export LD=/usr/bin/arm-linux-gnueabi-ld
Run Code Online (Sandbox Code Playgroud)

配置运行:

./configure --ccache --allow-fetch --without-tcmalloc
* Detecting system configuration
Bash:                           4.3.8(1)-release
Use ccache:                     yes
C++ Compiler:                   GCC 4.7 (/usr/bin/arm-linux-gnueabi-g++-4.7)
Host System:                    arm-linux-gnueabi
Build System:                   Linux 3.13.0-24-generic x86_64
Cross-compiling:                yes
Host Operating System:          Linux
Without tcmalloc:               yes
Build client drivers:           no
Build Architecture:             x86_64
Precompiled web assets:         no
Protobuf compiler:              /usr/bin/protoc
Node.js package manager:        /usr/bin/npm
LESS css:                       external/less_1.6.2
CoffeeScript:                   external/coffee-script_1.7.1
Handlebars:                     external/handlebars_1.3.0
Browserify:                     external/browserify_3.24.13 …
Run Code Online (Sandbox Code Playgroud)

c++ cross-compiling raspberry-pi rethinkdb

6
推荐指数
1
解决办法
1061
查看次数

如何从RethinkDB中的嵌入式数组中删除特定项?

给出样本数据,如:

{
   'id': 1,
   'things': [{'name': 'a'},{'name': 'b'},{'name': 'c'}]
}
Run Code Online (Sandbox Code Playgroud)

如何更新从嵌入式阵列中删除名称为"b"的数组项的文档?

r.table('test')
.get(1)
.update({things: r.row('things')????});
Run Code Online (Sandbox Code Playgroud)

rethinkdb

6
推荐指数
1
解决办法
1481
查看次数

重新思考数据库 | 嵌套查询和链式查询,有什么区别吗?

链式有什么区别:

r.db('catbox').table("bw_mobile").filter(
    r.row("value")("appVersion")("major").le(2)
).filter(
  r.row("value")("appVersion")("minor").le(2)
).filter(
  r.row("value")("appVersion")("patch").le(10)
)
Run Code Online (Sandbox Code Playgroud)

嵌套:

r.db('catbox').table("bw_mobile").filter(
      r.row("value")("appVersion")("major").le(2).and(
        r.row("value")("appVersion")("minor").le(2).and(
          r.row("value")("appVersion")("patch").le(10)
        )
      )
)
Run Code Online (Sandbox Code Playgroud)

或 lambda 函数

r.db('catbox').table("bw_mobile").filter(
  r.js("(function (session) { 
        return session.value.appVersion.major < 0 
            || ( session.value.appVersion.major == 0 && session.value.appVersion.minor < 0 )
            || ( session.value.appVersion.major == 0 && session.value.appVersion.minor == 0 && session.value.appVersion.patch < 71 )
        ; 
    })")
)
Run Code Online (Sandbox Code Playgroud)

泰!

rethinkdb rethinkdb-javascript

6
推荐指数
1
解决办法
218
查看次数