2016-06-09 91 views
0

我想制作一个工具,将一个数据库从一个RethinkDB主机复制到另一个,但是我挂断了事实,我似乎无法找出每个索引中的实际内容。我曾尝试RethinkDB:​​获取索引内的索引,而不是索引名称

r.db('db').table('table').index_list() 

r.db('db').table('table').info() 

我甚至尝试

r.db('db').table('table').index_list().info() 

但所有三个只返回索引的名称,而不是什么领域都在其中。这使得无法在目标数据库上重新创建与源数据库完全相同的表。

我在这里错过了什么?必须有一种方法来做到这一点,或者这只是从RethinkDB中缺少的东西?如果是这样,有谁知道为什么?

+1

分析数据是有什么特别的原因,你不会只使用复制和把RethinkDB情况下,集群中的? – dalanmiller

回答

0

像往常一样,我只能从没有阅读我的问题的人或者想回答没有问过的问题的人那里获得答案。

的解决方案是从

r.db('db').table('table').index_status() 
0

索引是从表中的文档计算而来的。如果您从第一个表中读取所有文档(例如使用r.table.run())并将它们全部插入到第二个表中,则重新创建所有索引,您将成功重新创建表。

+0

是的,显然,第一步是复制文档,第二步是创建索引,但正如我所说,没有办法找出创建索引的字段的名称,只有索引的名称,所以我怎么做?知道一个索引的名字是“patient_id_type”并不告诉我任何东西,这个字段实际上可以是“patient_id_type”,或者它可以是两个字段,“patient_id”和“type”,或者它可以是三个字段,“耐心” ,“id”,“type”...我需要知道字段,而不是索引的名称。 –