Respondiendo a mi propia pregunta para el deleite de cualquiera.
Creo que lo resolví, no estoy seguro.
Parece que está funcionando, estoy probando cuando fileObjects
tener muchos Files
.
El fileHash
correcto está actualizado de hecho.
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);