Mongo DB - 如何使用不同的名称作为键而不是属性名称

use*_*346 1 spring-data spring-data-mongodb

我正在使用 org.springframework.data.mongodb.core.MongoOperations 来存储 MongoDB 文档。

@Document(collection = "api_response")
public class ApiResponse {

    private String dealNumber; // deal_Number
    private String systemCode; // system_Code

}
ApiResponse response = new ApiResponse();
mongoOperations.save(response); 
Run Code Online (Sandbox Code Playgroud)

它被正确保存。我需要使用不同的键而不是实际的属性名称。而不是 dealNumber,它应该是 deal_Number 作为键。

是否可以?

seb*_*red 6

使用 Spring-Data-Mongo Field 注解来实现所需的映射:

import org.springframework.data.mongodb.core.mapping.Field;
// ...

@Document(collection = "api_response")
public class ApiResponse {

    @Field("deal_Number")
    private String dealNumber; // deal_Number

    @Field("system_Code")
    private String systemCode; // system_Code

}
Run Code Online (Sandbox Code Playgroud)