2016-04-01 8 views
0

Ich habe die folgende Struktur:ein Objekt in eine Liste einfügen MongoTemplate mit

{ 
    "_id" : "adddddddddddd", 
    "_class" : "com.fluidm.service.identity.entity.Item", 
    "itemName" : "satyam", 
    "personList" : [ ] 
} 

ich eine Sammlung haben wir sagen, „Artikel“ Liste der Personen, die in MongoDB als Array intern gespeichert werden.

Ich möchte ein Personenobjekt oder eine Gruppe von Personenobjekten unter Verwendung von MongoTemplate Ansatz in die Liste einfügen.

Ich habe die Push-Methode versucht, hat aber nicht funktioniert.

mongoTemplate.updateFirst(Query.query(Criteria.where("_id").is("​adddddddddddd")), new Update().push("personList", person), Item.class); 

PS: Ich möchte nicht nativen Ansatz verwenden, um Daten einzufügen.

Antwort

1

Ersetzen Sie den Feldnamen der Entität durch den Namen, den ich in @field Annotation für die Felder angegeben habe. Der Grund ist, dass MongoTemplate diese Felder mit den Namen erkennt, die tatsächlich in der DB gespeichert sind.

mongoTemplate.updateFirst (Query.query (Criteria.where ("_ id"). Ist ("adddddddddd")), neues Update(). Push ("person_list", person), "item");

Verwandte Themen