【发布时间】:2021-07-21 04:41:36
【问题描述】:
我正在尝试将特定字段的所有值放入数组中。
这是文档结构:
{
"title": "testone",
"docs": [
{
"fileId": "123",
"fileName": "helloworld.txt"
},
{
"fileId": "124",
"fileName": "thisisalongtext.docx",
}],
}
目前我已经实现了以下
文档类:
public class Docs implements Serializable {
private String fileId;
public String getFileId() {
return fileId;
}
public void setFileId(String fileId) {
this.fileId = fileId;
}
}
作业类:
@Document(collection = "assignemnt")
public class Assignment{
private String title;
private List<Docs> docs;
public String getTitle() {
return title;
}
public List<Docs> getDocs() {
return docs;
}
public void setDocs(List<Docs> docs) {
this.docs= docs;
}
@Override
public String toString() {
return "Assignment [title=" + title
+ ", docs=" + docs+ "]";
}
}
存储库实现:
public List<Assignment> getAssignments(final String uID) {
Query query = Query.query(Criteria.where(CREATEDBY).is(uID)
.orOperator(Criteria.where("docs.0").exists(true),
(Criteria.where("versionchecked").is(true))));
return mongoTemplate.find(query, Assignment.class);
}
当前方法返回以下响应:
{
"title": "assignemnt123",
"docs": [
{
"fileId": "132"
},
{
"fileId": "123"
},
{
"fileId": "213"
}
]
}
我要创建的响应:
{
"title": "assignemnt123",
"docs": [ "132" , "123", "213" ]
}
有没有办法实现这种预期的响应?
【问题讨论】:
-
您需要进行聚合,或者您需要以编程方式进行...
-
我需要它以编程方式。我厌倦了聚合,但它以相同的格式返回,因为它没有正确编程。
标签: arrays spring mongodb spring-boot