sql >> Database >  >> NoSQL >> MongoDB

hoe een ingesloten document in te voegen met behulp van spring data mongodb mongotemplate

Eerst moet je annoteren Event klas met @Document :

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

De code voor het toevoegen van een evenement zou er als volgt uit moeten zien:

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

Opmerking :U moet Event wijzigen 's class String _id; naar String id; om dit voorbeeld te laten werken (of de letterlijke vraag te wijzigen).

Bewerken een track updaten is ook vrij eenvoudig. Stel dat u de titel van het eerste nummer wilt wijzigen:

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. Mongodb vind een document met alle subdocumenten die aan een voorwaarde voldoen

  2. MongoDB:Hoe te vinden op subdocument-ID?

  3. Hoe kan ik regex in mongodb gebruiken in plaats van mongolab?

  4. MongoDB UpdateEerste methode gebruik