MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Sous-document de mise à jour du pilote Java MongoDB

S'il s'agit de la mise à jour définie dans mongodb :

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

Vous pouvez utiliser la classe Document de cette manière :

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

Cela vous donnera :

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

Ensuite, vous pouvez créer le document externe avec :

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

Cela devrait vous donner :

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

Ensuite, vous exécutez votre requête ici :

collection.updateOne(upDocQuery,upDocSet);

Donc, vous avez finalement :

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);