如何重新思考批量' upsert'而只设置' createdDT'在插入(第一次更新)?

时间:2017-03-22 14:57:13

标签: rethinkdb rethinkdb-javascript

是否可以执行批量upsert,其行为使得特定字段(例如:createdDT)仅在第一次upsert时设置,但在以后的同一记录的upsert期间不能设置?

修改

有一个粗略的版本工作,它执行服务器端执行的循环,其中每个元素的查找后跟一个条件插入。不是最优雅,也可能是相当可观的性能。还有其他选择吗?

const tableName = "someTableName";
return r.expr(objs).forEach(function (docToInsert) {
      return r.table(tableName).get(docToInsert('id')).replace(function (existingDoc) {
        return r.branch(
          existingDoc.eq(null),
          r.expr(docToInsert).merge({ createdDT: r.now() }),
          existingDoc.merge(docToInsert)
        );
      });
    });

修改

标签和标题不清楚:此问题与rethinkDB

有关

0 个答案:

没有答案