In Morphia wie kann ich ein update für ein eingebettetes Objekt in einer ArrayList

Wirklich neues, um Mit Mongodb mit Morphia und viele erweiterte Antworten, wie dies zu tun.

Ich möchte es einfach, wenn es möglich ist und ich habe diese @Embedded Objekt namens

fileObjects enthält Files Objekte.

Kann ich Nicht aktualisieren Sie die Felder innerhalb der Files.

Will ich update nur ein Feld f.ab der String fileHash.

@Entity
public class BatchData {

    @Id private ObjectId id;
    @Embedded
    public ArrayList<Files> fileObjects = new ArrayList<Files>();
}

UPDATE..
Lesen Sie die wiki auf Morphia Aktualisieren nicht "wirklich" sagen, wie zu tun dies nur, wenn das array enthält Integer wie diese:

  @Embedded
   List<Integer> roomNumbers = new ArrayList<Integer>();

Hier ist, was ich versuchen so weit:

mongo.createUpdateOperations(BatchData.class).add("fileObjects", Files, false);

Den Files Sie, dass dieser code einzufügen ist bereits in der mongo. Die false nicht erkennen, dass und fügen es an das Ende des Arrays. Kann ich eine unique-id, um die Files so dass Sie erkennen, dass das Files bin einfügen vorhanden sind im array, und dann einfach aktualisieren?

@Embedded 
public class Files
{ 
    public Files() {

    }

    public int position;
    public String fileName = "";
    public String fileHash = "";

    public Files(int pos, String fileName, String fileHash) {
        this.position = pos;
        this.fileName = fileName;
        this.fileHash = fileHash;
    }
} 

Dem Lesen der anderen Antworten wie morphia-mongodb-Zugriff auf aber er habe bereits die

@Entity BlogEntry(siehe link) in ein POJO außerhalb von mongo. Vielleicht habe ich das gleiche zu tun?

Ziehen Sie es aus, verändern es und speichern Sie es zurück?

InformationsquelleAutor Erik | 2012-02-08
Schreibe einen Kommentar