Zuerst müssen Sie Event
annotieren Klasse mit @Document
:
@Document(collection = "events")
public class Event
{
// rest of code
}
Der Code zum Hinzufügen eines Ereignisses sollte folgendermaßen aussehen:
@Repository
public class EventsDao {
@Autowired
MongoOperations template;
public void addTrack(Track t) {
Event e = template.findOne
(new Query(Criteria.where("id").is("1000")), Event.class);
if (e != null) {
e.getTracks().add(t);
template.save(e);
}
}
}
Hinweis :Sie sollten Event
ändern der Klasse String _id;
zu String id;
damit dieses Beispiel funktioniert (oder das Abfrageliteral ändern).
Bearbeiten Das Aktualisieren eines Tracks ist ebenfalls ziemlich einfach. Angenommen, Sie möchten den Titel des ersten Titels ändern:
Event e = template.findOne(new Query(Criteria.where("_id").is("1000")), Event.class);
if (e != null) {
e.getTracks().get(0).setTitle("when i'm 64");
template.save(e);
}