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

MongoDBJavaドライバー更新サブドキュメント

    これがmongodbで設定された更新である場合:

    {$set: 
          { "numberOfDownloads" : "453", 
                "documents" : 
                      { "downloads" : "453"}
          }
    }
    

    Documentクラスは次のように使用できます:

    Document upDocValue = new Document("numberOfDownloads": "453")
                          .append("documents.downloads":"453");
    

    これにより、次のことが可能になります:

    {
      "numberOfDownloads": "453",
      "documents" : 
        { "downloads" : "453"}
    }
    

    次に、次のコマンドを使用して外部ドキュメントを作成できます。

    Document upDocSet = new Document("$set",updDocValue);
    

    これにより、次のことが可能になります:

    {$set: 
          { "numberOfDownloads" : "453", 
                "documents" : 
                      { "downloads" : "453"}
          }
    }
    

    次に、ここでクエリを実行します:

    collection.updateOne(upDocQuery,upDocSet);
    

    したがって、最終的には次のようになります。

    Document updDocQuery = new Document("_id", "9999996978c9df5b02999999");
    
    Document upDocValue = new Document("numberOfDownloads": "453")
                              .append("documents.downloads":"453");
    
    Document upDocSet = new Document("$set",updDocValue);
    
    collection.updateOne(upDocQuery,upDocSet);
    



    1. RedisERR不明なコマンド'FLUSHDB'

    2. 例外を回避する方法mongoDBJavaドライバー3.4以降または3.6以降を使用してストリームの終わりに時期尚早に到達しましたか? (挿入時)

    3. 接続できないherokuにredisをデプロイする

    4. Mongodbは配列要素の比較を見つけます