Mein Modell besteht aus einer Sammlung von (CAR-) Modellen mit einer verschachtelten Sammlung von Kraftstofftypen ("Diesel", "Benzin", "Hybrid"). Jeder Kraftstoff verfügt über eine weitere verschachtelte Sammlung von Türen.
{ _id : 'Ford Focus' , fuels : [ {_id : "Diesel" : "doors" : [2 , 3]} , {_id: "Gasoline" , doors : [2, 3, 4, 5] } ] }
< /code>
Wenn ich die für ein bestimmtes Modell und Kraftstofftyp verfügbaren Türen zur Verfügung stellen möchte, kann ich ausführen: < /p>
db.models.find( {"_id" : "Ford Focus" , "fuels._id" : "Diesel"} , { 'fuels' : {$elemMatch: {_id: "Diesel"} } })
< /code>
Wie kann ich das in eine @Query -Methode in einem Spring Data Repository übersetzen? < /p>
@Query(value="{ 'id' : ?0 , 'fuel' : ?1 }")
public Model findDoors(Integer model, String fuel);
< /code>
Die obige Implementierung gibt ein Dokument mit einem verschachtelten Array mit allen Arten von Kraftstoffen zurück, nicht nur der als Parameter übergebene. Wo kann ich die $ Elemmatch -Projektion in ein Spring Data Repository einfügen? Die Mongotemplate und die BasicQuery -Klasse folgen diesem Beitrag < /p>
public Model findDoors(Integer model, String fuel){
Criteria findModelCriteria = Criteria.where("id").is(model);
Criteria findFuelCriteria = Criteria.where("fuels").elemMatch(Criteria.where("id").is(fuel));
BasicQuery basicQuery = new BasicQuery(findModelCriteria.getCriteriaObject(), findFuelCriteria.getCriteriaObject());
return mongoTemplate.findOne(basicQuery, Model.class);
}
< /code>
In diesem Fall erhalte ich eine Ausnahme, wenn der Konstruktor von PropertyPath < /code> aufgerufen wird, da er versucht, auf ein Feld namens $ elemmatch in Model.class zuzugreifen (???) < /p>
Caused by: java.lang.IllegalAccessError
at org.springframework.data.mapping.PropertyReferenceException.detectPotentialMatches(PropertyReferenceException.java:134)
at org.springframework.data.mapping.PropertyReferenceException.(PropertyReferenceException.java:59)
at org.springframework.data.mapping.PropertyPath.(PropertyPath.java:75)
Mein Modell besteht aus einer Sammlung von (CAR-) Modellen mit einer verschachtelten Sammlung von Kraftstofftypen ("Diesel", "Benzin", "Hybrid"). Jeder Kraftstoff verfügt über eine weitere verschachtelte Sammlung von Türen.[code]{ _id : 'Ford Focus' , fuels : [ {_id : "Diesel" : "doors" : [2 , 3]} , {_id: "Gasoline" , doors : [2, 3, 4, 5] } ] } < /code>
Wenn ich die für ein bestimmtes Modell und Kraftstofftyp verfügbaren Türen zur Verfügung stellen möchte, kann ich ausführen: < /p>
Wie kann ich das in eine @Query -Methode in einem Spring Data Repository übersetzen? < /p>
@Query(value="{ 'id' : ?0 , 'fuel' : ?1 }") public Model findDoors(Integer model, String fuel); < /code>
Die obige Implementierung gibt ein Dokument mit einem verschachtelten Array mit allen Arten von Kraftstoffen zurück, nicht nur der als Parameter übergebene. Wo kann ich die $ Elemmatch -Projektion in ein Spring Data Repository einfügen? Die Mongotemplate und die BasicQuery -Klasse folgen diesem Beitrag < /p>
public Model findDoors(Integer model, String fuel){ Criteria findModelCriteria = Criteria.where("id").is(model); Criteria findFuelCriteria = Criteria.where("fuels").elemMatch(Criteria.where("id").is(fuel)); BasicQuery basicQuery = new BasicQuery(findModelCriteria.getCriteriaObject(), findFuelCriteria.getCriteriaObject());
In diesem Fall erhalte ich eine Ausnahme, wenn der Konstruktor von PropertyPath < /code> aufgerufen wird, da er versucht, auf ein Feld namens $ elemmatch in Model.class zuzugreifen (???) < /p>
Caused by: java.lang.IllegalAccessError at org.springframework.data.mapping.PropertyReferenceException.detectPotentialMatches(PropertyReferenceException.java:134) at org.springframework.data.mapping.PropertyReferenceException.(PropertyReferenceException.java:59) at org.springframework.data.mapping.PropertyPath.(PropertyPath.java:75) [/code]
Ich brauche Hilfe bei dieser Frage. Ich habe die folgende Struktur -
[
{
Id : a399f6c6-13b1-4060-8917-e99c54208165 ,
Watchlists : [
{
Id : 0fddfa7a-528d-4fa9-9019-e2f7d7699427 ,
name :...
Ich brauche Hilfe bei dieser Frage. Ich habe die folgende Struktur -
[
{
Id : a399f6c6-13b1-4060-8917-e99c54208165 ,
Watchlists : [
{
Id : 0fddfa7a-528d-4fa9-9019-e2f7d7699427 ,
name :...
Ich arbeite an einem Projekt, bei dem ich die Tabellenstruktur im SQL -Server in Snowflake replizieren muss. , wie wir bekommen, wenn wir eine DDL -Anweisung in der SQL Server -Konsole erstellen. Es...