J'ai une structure MongoDB comme ceci:
record = { 'field': 'value',
'field2': 'value2',
'events' : [ { 'event1': 1 }, { 'event2' : 2 }]
}
J'utilise package MongoDB données Spring pour accéder à ces données. Il y aura principalement des écritures sur les données, donc je voudrais utiliser la fonctionnalité native "$ push" pour ajouter des "événements" à "l'enregistrement", mais je n'arrive pas à comprendre comment le faire avec MongoRepository sans aller chercher l'ensemble du dossier, puis en le poussant et en le sauvegardant? Quand vous utilisez MongoRepository, vous n'avez jamais vraiment d'implémentation concrète. Poignées printemps tout en fonction des annotations ou les noms des méthodes elles-mêmes
MISE À JOUR
Est-ce que la bonne façon de mettre en œuvre une méthode personnalisée sur le référentiel, puis utiliser MongoTemplate pour le faire manuellement?
Exemple:
FooRepository.java
public interface FooRepository extends
CrudRepository<Foo, ObjectId>,
AppointmentWarehouseRepositoryCustom {
}
FooRepositoryCustom.java
public interface AppointmentWarehouseRepositoryCustom {
public void pushMethod();
}
FooRepositoryImpl.java
public class FooRepositoryImpl implements
AppointmentWarehouseRepositoryCustom {
@Autowired
protected MongoTemplate mongoTemplate;
public void pushMethod() {
// Push methods here.
}
}
Et pouvons-nous pousser un objet dans une liste marquée comme @DBRef? – javadev
Est-ce que cela vous est arrivé par chance de pousser dans une collection @DBRef? – javadev