MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

In Morphia come posso aggiornare un oggetto incorporato all'interno di un ArrayList

Rispondendo alla mia domanda per la gioia di chiunque.

Penso di aver risolto il problema non sono sicuro.
Sembra che funzioni durante il test quando fileObjects hanno molti Files .
Il diritto fileHash è effettivamente aggiornato.

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