我想从0到多个项目的集合中随机选择一个项目,如果存在,则更新特定字段。如果该项不存在,我希望该函数不执行更新并返回null。
我当前的REQL代码:
r.db('test').table('test')
.filter({
something: true
}).sample(1).nth(0).default(null).update(function(thing) {
return r.branch(
thing.ne(null),
thing.without('reserve'),
null
)
}, {
returnChanges: true
});
这总是会返回错误:Expected type SELECTION but found DATUM
我不知道如何使用REQL来解决这个问题。
答案 0 :(得分:1)
你可能想写这个:
r.db('test').table('test').filter({something: true}).sample(1).replace(function(thing) {
return thing.without('reserve');
}, {returnChanges: true});
这将返回一个写入摘要对象,您可以使用该对象来确定替换是否实际发生。