sql >> Database teknologi >  >> NoSQL >> MongoDB

hvordan man indsætter et indlejret dokument ved hjælp af fjederdata mongodb mongotemplate

Først skal du kommentere Event klasse med @Document :

@Document(collection = "events")
public class Event
{
    // rest of code
}

Koden til at tilføje en begivenhed skal se sådan ud:

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

Bemærk :Du bør ændre Event 's klasse String _id; til String id; for at dette eksempel kan fungere (eller ændre forespørgslen bogstaveligt).

Rediger at opdatere et spor er også ret nemt. Antag, at du vil ændre det første spors 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. Er memcached en dinosaur i forhold til Redis?

  2. MongoDB countDocuments()

  3. Hvad betyder authSource i mongo database url?

  4. Migrering af MongoDB til DynamoDB, del 2