0
たとえば、属性がsold_outの製品のリストを考えてみると、そのコレクションのすべての項目のフィールドを更新したいと考えています。この特定の例では結果のモデルをBookshelfJSコレクションからすべて更新するには?
は、のは、私がtrue
として設定し、そのフィールドを持つすべてのアイテムにフィールドsold_out = false
を設定したいとしましょう:
Product.where({sold_out: true})
.fetchAll()
.then(soldOutCollection => {
return Promise.all(product => {
return product.save({sold_out: false})
})
})
これは動作しますが、それは、コレクション内の項目ごとにクエリをトリガします。
一度にすべてのアイテムを更新する方法はありますか?
PS:私は私はあなたがこの方法を更新したい場合、あなたはこれを試してみたいかもしれないと思う直接
この実行2つのクエリん - 最初のようにコレクション内のモデルをフェッチし、それらを更新します。 Collectionの複数の行を直接更新することはできません。私は本棚のAPIを理解していれば – j10
は正しく上記の次のクエリを生成します: 'UPDATE製品のSET sold_out =「false」をWHERE sold_out =「真」' は、基本的にはそれらすべてを更新する1つのクエリを実行します。 – websoftwares
はい。ご確認ありがとうございます。私はデバッグフラグを有効にし、検証しました。 – j10