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

MongoDBUpdateFirstメソッドの使用法

    演算子$を使用する場合 更新部分では、that arrayを明示的に記述する必要があります クエリ部分で。だから、

    mongoTemplate.updateFirst(
    query(where("name").is("Award1")), 
    Update.update("brand.$.descr", "Desc2"),
    Awards.class);
    

    である必要があります
    mongoTemplate.updateFirst(
    query(where("name").is("Award1"))
    .and("brand.name").is("Brand1"), // "brand" in "brand.name" is necessary, others according to your requirement
    Update.update("brand.$.descr", "Desc2"),
    Awards.class);
    

    配列内の要素の位置がわかっている場合、 `$'は不要です。次のように試すことができます:

    mongoTemplate.updateFirst(
    query(where("name").is("Award1")), 
    Update.update("brand.0.descr", "Desc2"), // 0 is the index of element in array
    Awards.class);
    

    nameを処理するのと同じ方法 フィールド。




    1. 1つのURLでマラソン(mesos)でredisを実行します

    2. MongoDBユーザーのパスワードを変更するにはどうすればよいですか?

    3. SQLiteからRedisへの移植

    4. ipをバインドしているにもかかわらず、ローカルネットワークでMongoDBサーバーにアクセスできない