1
0から多くのアイテムのコレクションから1つのアイテムをランダムに選択したい場合は、特定のフィールドを更新します。アイテムが存在しない場合は、関数を更新せずにnullを返すようにしたいと思います。ランダムに選択されたアイテムがRethinkDB内に存在する場合は更新します
私の現在の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でこの問題に対処する方法がわからないです。
これはうまくいきません。クエリで返されるドキュメントがない場合、クエリは 'Index out of bounds:0'でエラーになります。 '.default(null)'を使って(私が質問したように) '予想される型SELECTIONだが見つかったDATUM'エラーを生成する。 – mark
私はあなたのスニペットにはない 'nth'を書いた場合にのみ、' Index out of bounds:0'を得なければならないと思います。 ( 'update'と' replace'は 'sample'の結果をうまく処理する必要はありません) – mlucy
あなたは正しいです。ありがとう!私は配列を返すことを望んでいませんでしたが、私はアプリケーションの戻り値を管理することができます。 – mark