1

0 から多数のアイテムのコレクションから 1 つのアイテムをランダムに選択し、存在する場合は特定のフィールドを更新します。アイテムが存在しない場合は、関数が更新を実行せず、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 DATUMREQL でこの問題に対処する方法がわかりません。

4

1 に答える 1

1

あなたはおそらくこれを書きたいと思うでしょう:

r.db('test').table('test').filter({something: true}).sample(1).replace(function(thing) {
    return thing.without('reserve');
}, {returnChanges: true});

これにより、置換が実際に発生したかどうかを判断するために使用できる書き込み概要オブジェクトが返されます。

于 2016-06-24T08:42:00.303 に答える