Java @MongoId在Spring数据MongoDB over@Id中有什么用途?

Java @MongoId在Spring数据MongoDB over@Id中有什么用途?,java,spring,mongodb,spring-data,spring-data-mongodb,Java,Spring,Mongodb,Spring Data,Spring Data Mongodb,我正在尝试向Mongo Db添加模型 我知道我可以使用@Id来避免在_Id字段中创建ObjectId。现在,在使用这个工具时,我在org.springframework.data.mongodb.core.mapping包中遇到了@MongoId 所以我的问题是我们可以使用@MongoId而不是@Id,如果可以,用例是什么?遗憾的是,没有足够的文档可用于@MongoId 如下所示: import org.springframework.data.mongodb.core.mapping.Docu

我正在尝试向Mongo Db添加模型

我知道我可以使用@Id来避免在_Id字段中创建ObjectId。现在,在使用这个工具时,我在org.springframework.data.mongodb.core.mapping包中遇到了@MongoId

所以我的问题是我们可以使用@MongoId而不是@Id,如果可以,用例是什么?遗憾的是,没有足够的文档可用于@MongoId

如下所示:

import org.springframework.data.mongodb.core.mapping.Document;
import org.springframework.data.mongodb.core.mapping.MongoId;

import java.util.Date;

@Document
public class LeadDetails {
    @MongoId
    private Integer id;
    private String firstName;
    private String middleName;
    private String lastName;
    private String mobile;
    private String landlineNumber;
    private Date contactedOn;
    private Date repliedOn;
    private String email;
}

有些环境需要一种定制的方法来映射Id值,例如存储在MongoDB中的数据,这些数据没有通过Spring数据映射层运行。文档可以包含_id值,这些值可以表示为ObjectId或字符串。将文档从存储区读回域类型就可以了。由于隐式ObjectId转换,通过文档id查询文档可能会很麻烦。因此,无法通过这种方式检索文档。对于这些情况,@MongoId提供了对实际id映射尝试的更多控制


有些环境需要一种定制的方法来映射Id值,例如存储在MongoDB中的数据,这些数据没有通过Spring数据映射层运行。文档可以包含_id值,这些值可以表示为ObjectId或字符串。将文档从存储区读回域类型就可以了。由于隐式ObjectId转换,通过文档id查询文档可能会很麻烦。因此,无法通过这种方式检索文档。对于这些情况,@MongoId提供了对实际id映射尝试的更多控制