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

Dans Morphia, comment puis-je mettre à jour un objet intégré dans une ArrayList

Répondre à ma propre question pour le plus grand plaisir de tous.

Je pense que je ne suis pas sûr de l'avoir résolu.
Il semble que cela fonctionne dans le test lorsque le fileObjects avoir de nombreux Files .
Le bon fileHash est bien mis à jour.

UpdateOperations<BatchData>updateOperations=mongo.createUpdateOperations
             (BatchData.class)
            .disableValidation().set("fileObjects.$.fileHash",hash).enableVali..;

mongo.update(mongo.createQuery(BatchData.class)
            .filter("uuid",theBatch.uuid)
            .filter("fileObjects.fileName","theFileName"),updateOperations);