Ich habe eine Sammlung in MongoDB mit folgendenWie verschiedene Werte von Concat von 2 Spalten in MongoDB Frühling bekommen
{
"_id" : ObjectId("5756b0rrffac18767"),
"year" : "1992",
"initial" : "A",
"name" : "test"
}
/* 2 */
{
"_id" : ObjectId("5756b0ffac18767"),
"year" : "1992",
"initial" : "B",
"name" : "test"
}
/* 3 */
{
"_id" : ObjectId("5756b0ffwwac18767"),
"year" : "1993",
"initial" : "A",
"name" : "test1"
}
/* 4 */
{
"_id" : ObjectId("5756b0ffacee767"),
"year" : "1992",
"initial" : "A",
"name" : "test"
}
ich folgende Ergebnisse wie
1992-A
1992-B
bekommen muss ich finden müssen die deutliche von verketteten Spalten (Jahr und initial), wo name = "test"
Bisher habe wie
versuchtpublic List<MyNames> getYears(String name) {
TypedAggregation<MyNames> agg = Aggregation.newAggregation(MyNames.class,
project("id","year", "initial"),
match(Criteria.where("name").is(name))
group("year")
);
AggregationResults<MyNames> result = mongoTemplate.aggregate(agg, MyNames.class);
List<MyNames> resultList = result.getMappedResults();
return resultList;
}
Mynames
@Document
public class Mynames implementiert Serializable {
private static final long serialVersionUID = -5763434erertr33331L;
@Id
private String id;
private int year;
private String name;
private String initial;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public int getYear() {
return year;
}
public void setYear(int year) {
this.year = year;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getInitial() {
return initial;
}
public void setInitial(String initial) {
this.initial = initial;
}
@Override
public String toString() {
return "MyNames [id=" + id + ", year=" + year + ", name=" + name + ", initial=" + initial + "]";
}
}
Dies funktioniert nicht .. Jede Hilfe ist willkommen ..
Könnten Sie die MyNames-Klassendeklaration zur Frage hinzufügen? –
@AndriySimonov: Ich habe die MyNames-Klasse Erklärung hinzugefügt –