sql >> Databasteknik >  >> NoSQL >> MongoDB

hur man infogar inbäddat dokument med vårdata mongodb mongotemplate

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);
}



  1. Hur spolar jag redis db från python redis?

  2. Timeout väntar på en MongoConnection

  3. Faktorer att tänka på när du väljer MongoDB för Big Data-applikationer

  4. Transformera MongoDB-data vid sökning