MongoItemReader:如何处理自定义字段?

时间:2017-04-13 09:33:38

标签: java spring mongodb spring-batch

spring batch提供的MongoItemReader有方法setFields:

public void setFields(java.lang.String fields)
JSON defining the fields to be returned from the matching documents by 
MongoDB.
Parameters:
fields - JSON string that identifies the fields to sort by.

我有一个班级:

public class Raw {

private String id;
private String version;
private String client;
private String appName;
private String os;
// getters & setters
}

我在mongodb中有这样的数据:

{
"_id" : ObjectId("58a3373e1e041a1191cd5d6d"),
"Version" : "123",
"Client" : "SomeClient",
"MobilePlatform" : "iphoneos",
"AppName" : "MyAppName",
"Os" : "Windows 10"
}

- 因此您可以看到所有字段名称都以大写字母开头。 现在我需要使用spring批量从mongo读取数据。 我需要将我的Raw类中的某些字段映射到mongo DB中的数据,以便我能够获取数据。 我怀疑setFields方法只适用于这种情况。 但我对mongo和spring批次也比较新, 所以我想问一下怎么做? 我应该将哪个JSON放入setFields方法? 或者可能还有其他一些选择?

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

我自己在文档中找到了答案:http://docs.spring.io/spring-data/data-mongo/docs/1.4.2.RELEASE/reference/html/mapping-chapter.html 可以使用@Field注释,它可以工作。

相关问题