#java #spring #mongodb #mongotemplate
Вопрос:
Я начинаю с весны и Монгодба. Я видел, что существует несколько методов для вставки и / или обновления. Я также прочитал здесь несколько постов, объясняющих некоторые концепции. Но я не совсем их понимаю. Поправьте меня, если я ошибаюсь или если чего-то не хватает.
- Update (): обновляет только объект и работает только в том случае, если у него есть идентификатор.
- Upsert (): Выполняет обновление, если объект существует (у него должен быть идентификатор), или вставляет его, если он не существует.
- Вставка (): Вам не нужен идентификатор, и вы добавляете документ в коллекцию.
- сохранить (): Я действительно не знаю разницы со вставкой.
Если есть другие методы, которые работают аналогичным образом и о которых я забыл упомянуть, я был бы признателен, если бы вы также могли это объяснить.
Ответ №1:
Сохранить
Метод сохранения сохраняет документ в коллекции для типа сущности данного объекта. Когда мы передаем имя коллекции, документ сохраняется в указанной коллекции, даже если сущность другого типа.
`Озу студента = новый студент(101,»Озу»,20);
MongoTemplate.save(озу);
Новый человек = новый человек(102, «Шьям»);
монгоТемплата.сохранить(Новый человек, «студент»); `
После сохранения
{ «_id» : 101, «имя» : «Озу», «возраст» : 20, «_класс» : «com.конкретная страница.сущность.Студент» }
{ «_id» : 102, «имя» : «Шьям», «_класс» : «com.конкретная страница.сущность.Человек» }
Вставить
Чтобы вставить документ в коллекцию MongoDB, MongoTemplate предоставляет метод вставки. Найдите код для вставки одного документа.
ОЗУ учащегося = новый учащийся(1,»Озу»,20);
Монгольская табличка.вставка(ОЗУ);
После вставки
{ «_id» : 1, «имя» : «Озу», «возраст» : 20, «_класс» : «com.конкретная страница.сущность.Студент» }
для получения дополнительной информации перейдите по ссылке ниже
https://www.concretepage.com/spring-5/spring-data-mongotemplate