@MongoId 在 Spring Data MongoDB 中通过 @Id 的用途是什么?

Pra*_*kam 1 java spring mongodb spring-data spring-data-mongodb

我正在尝试将模型添加到 Mongo Db。

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

所以我的问题是我们可以在@Id 上使用@MongoId,如果是,用例是什么?不幸的是,@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;
}
Run Code Online (Sandbox Code Playgroud)

Bhu*_*yal 5

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

在此处输入图片说明