私は以下のように私のコレクションを持っています内の特定のフィールドに基づいてクエリ結果をソートする方法:MongoDBの
{
"_id" : NumberLong(366),
"file" : "xyz",
"meta" : [{
"owner" : "user123",
"rating": "A"
}]
}
私は
が、私は以下のコードを試してみました所有者に基づいてクエリ結果をソートしたいが、並べ替えが動作していません
誰でも私にこれを手伝ってもらえますか?
query = new Query();
query.addCriteria(Criteria.where("meta.rating").is("A"));
query.with(new Sort(Sort.Direction.ASC, "meta.owner"));
mongoOperations.find(query, Test.class);
私のテストクラス: ここで私は別のモデル
@Document(collection = "Test_Data")
public class Test{
@Id
private long id;
private String file;
private List<MetaList> meta;
public long getId() {
return id;
}
public void setId(long id) {
this.id = id;
}
public String getFile() {
return file;
}
public void setFile(String file) {
this.file = file;
}
public List<MetaList> getMeta() {
return meta;
}
public void setMeta(List<MetaList> meta) {
this.meta= meta;
}
}
マイメタリストクラスであるリストを持っています:
public class MetaList{
private String owner;
private String rating;
public String getOwner() {
return owner;
}
public void setOwner(String owner) {
this.owner= owner;
}
public String getRating() {
return rating;
}
public void setRating(String rating) {
this.rating= rating;
}
}
'Test'クラスには' @ Document'というアノテーションが付けられており、データベースのコレクションを参照していますか? – ares
はい、注釈が付けられています。メタ自体はリストなので何かをする必要があります – krishna
あなたのモデルクラスを投稿できますか? 'Test' – ares