RethinkDB,在结果上添加派生列

时间:2016-02-08 04:39:16

标签: rethinkdb

我似乎可以通过map + merge

来做到这一点
map( function(row) {
   return row.merge( { newCol: 'ABC' } );
});

问题是我是否想从静态地图中进行查找,例如

var LOOKUP_MAP = {key1:{text:'Key 1'}};

然后下面不起作用

map( function(row) {
   return row.merge({ newCol: LOOKUP_MAP[row('key')].text });
});

行( '钥匙');似乎懒得评价。知道怎么做吗?

1 个答案:

答案 0 :(得分:1)

你可以这样使用:

var LOOKUP_MAP = {key1: {text: 'Key 1'}};

r.db('salaries').table('salaries')
.map( function(row) {
   return row.merge({ newCol: r.expr(LOOKUP_MAP)(row('key'))('text') });
});