是否可以执行批量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
有关