sql >> Databasteknik >  >> NoSQL >> MongoDB

MongoDB Java Driver Update Sub-Document

Om detta är uppdateringen som är inställd i mongodb:

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

Du kan använda klassen Document på detta sätt:

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

Detta ger dig:

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

Sedan kan du skapa det yttre dokumentet med:

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

Detta bör ge dig:

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

Sedan kör du din fråga här:

collection.updateOne(upDocQuery,upDocSet);

Så du har så småningom:

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. Hur tar man bort en modell från mongoose?

  2. Laravel :Redis Ingen anslutning kunde göras :[tcp://127.0.0.1:6379]

  3. Okänt fält:'ntoreturn'-fel i documenDB

  4. Redis SCAN-matchning