sql >> データベース >  >> NoSQL >> MongoDB

arrayFiltersでフィルターされた位置演算子を使用して更新を適用する方法

    それは次のようになります:

    WriteResult wr = getMongoTemplate().updateMulti(
      new Query(where("rates.rateCardId").is(1234)),
      new Update().set("rates.$[item].rate", 200),
      new UpdateOptions()
        .arrayFilters(
          Arrays.asList( Filters.in("item.rateCardId",Arrays.asList(1,2)) )
        ), 
      ProductRates.class
    );
    

    arrayFilters()を使用するには、基盤となるJavaドライバーが3.6.xバージョン以降であることを確認する必要があります。 UpdateOptions()の追加もサポートする可能性があります



    1. MongoDB $ asin

    2. フラグが設定されるまでMongodbロックコレクション?

    3. Azure DataBricksStreamforeachがNotSerializableExceptionで失敗する

    4. mongoengineでReferenceFieldデータを取得する方法は?