Ich habe eine MongoDB Struktur wie folgt aus:
record = { 'field': 'value',
'field2': 'value2',
'events' : [ { 'event1': 1 }, { 'event2' : 2 }]
}
Ich bin mit Spring Data MongoDB Paket auf diese Daten zugreifen. Es wird hauptsächlich Schreibvorgänge auf die Daten geben, daher würde ich gerne die native "$ push" -Funktion verwenden, um "Ereignisse" zu dem "Datensatz" hinzuzufügen, aber ich kann nicht herausfinden, wie man es mit MongoRepository ohne Abrufen macht die gesamte Aufzeichnung und dann schieben und speichern Sie es zurück?
Wenn Sie MongoRepository verwenden, haben Sie nie wirklich eine konkrete Implementierung. Frühling kümmert sich um alles basiert auf Anmerkungen oder die Namen der Methoden selbst
UPDATE
Wäre der richtige Weg zu sein, eine benutzerdefinierte Methode auf das Repository zu implementieren und dann MongoTemplate, um es manuell zu tun?
Beispiel:
FooRepository.java
public interface FooRepository extends
CrudRepository<Foo, ObjectId>,
AppointmentWarehouseRepositoryCustom {
}
FooRepositoryCustom.java
public interface AppointmentWarehouseRepositoryCustom {
public void pushMethod();
}
FooRepositoryImpl.java
Und können wir ein Objekt in einer Liste als @DBRef markiert schieben? – javadev
Ist es zufällig passiert, dass Sie eine @DBRef-Sammlung einfügen? – javadev