Först måste du kommentera Event
klass med @Document
:
@Document(collection = "events")
public class Event
{
// rest of code
}
Koden för att lägga till en händelse ska se ut så här:
@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);
}
}
}
Obs :Du bör ändra Event
s klass String _id;
till String id;
för att det här exemplet ska fungera (eller ändra frågan bokstavligt).
Redigera uppdatera ett spår är också ganska enkelt. Anta att du vill ändra det första spårets titel:
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);
}