2014-10-09 21 views
1

我试图创建一个简单的脚本,我可以将其粘贴到RethinkDB数据资源管理器中以初始化数据库。如何创建RethinkDB数据初始化脚本

我可以插入精细的记录像这样的东西:

r.db('testdb').table('cars').insert([{ "model" : Honda }]) 

但是这怎么可能跟一个二次插入到像相关的表:

r.db('testdb').table('engines').insert([{ "cars_id" : <what goes here> }]) 

我能想象写一些javascript提取新创建的ID,但不会显示数据浏览器支持变量等内容。

理想情况下,有一种方法可以编写一个大型脚本,以便在需要时直接在数据资源管理器中使用。

回答

2

数据资源管理器可以采用以分号分隔的多个查询。 请注意,查询将被顺序执行,并且只会返回最后一个查询的结果。

数据浏览器支持一些JavaScript在一定程度上的要求(据我所知)是:

  • 上次查询必须是ReQL查询
  • 任何指令必须以分号结束(除了最后一个)

这样说,你不能在第二个使用JavaScript的查询中使用第一个查询的结果(你不能访问结果)。你可以嵌套查询(或链接do),这样的事情应该工作我认为:

r.db('testdb').table('cars').insert([{ "model" : Honda }]).do(function(result) { 
    r.db('testdb').table('engines').insert([{ "cars_id" : <you can use the result of the insert here> }]) 
})