0

我需要遍历主表并将新文档添加到不同的表中,每个表都包含id:name:主表中的文档匹配的条目。

我已经阅读了相关文档,这是可耻的稀疏,我发现这篇关于迭代同一个表内的对象属性的SO 帖子,但这并不适用,因为我想迭代表上的对象,而不是对象中的属性,并将结果应用到一个新表(而不是同一个表)。

我可以遍历表的长度并创建与新表中某些字段匹配的文档吗?

更具体地说:我的数据库中的文档primary_table具有字段id:name.我如何将这些 id 和相应的名称迁移到使用 、 和 的一个或组合详细说明的表payment_history中?forEachtoArraynext

我的尝试:

r.db('client').table('basic_info').forEach(
  function(id){
    return r.db('client')table('payment_history').insert(
      {
       id: r.db('client').table('basic_info').get(id).getField('id'),  
       name: r.db('client').table('basic_info').get(id).getField('name')
       }  
      );
  }
);

提前致谢

4

1 回答 1

1

你可以这样写forEach

r.db('client').table('basic_info').forEach(function(row) {
  return r.db('client').table('payment_history').insert(
    {id: row('id'), name: row('name')});})

但这样写可能会更好:

r.db('client').table('payment_history').insert(
  r.db('client').table('basic_info').pluck('id', 'name'))
于 2016-06-22T10:31:57.080 回答