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

Spring mongodb ottiene l'ID dell'elemento inserito dopo il salvataggio

Questo è piuttosto interessante e ho pensato di condividerlo. Ho appena trovato la soluzione per questo con l'aiuto del commento di BatScream sopra:

Dovresti creare un oggetto e inserirlo nel tuo MongoDB:

    Animal animal = new Animal();
    animal.setName(name);
    animal.setCat(cat);

    mongoTemplate.insert(animal);

La tua classe animale ha questo aspetto con getter e impostazioni per tutti i campi:

public class Animal {

    @Id
    @JsonProperty
    private String id;
    @JsonProperty
    private String name;
    @JsonProperty
    private String cat;

    public String getId() {
        return id;
    }
}

DOPO aver eseguito l'inserimento in mongoTemplate.insert(animal); , puoi effettivamente chiamare il metodo animal.getId() e restituirà l'ObjectId che è stato creato.