Spring Data MongoDB 中的@MongoId 比@Id 有什么用?

What is use of @MongoId in Spring Data MongoDB over @Id?

我正在尝试将模型添加到 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 数据映射层的数据。文档可以包含可以表示为 ObjectId 或字符串的 _id 值。从商店读取文档返回域类型工作得很好。由于隐式 ObjectId 转换,通过文档的 id 查询文档可能很麻烦。因此无法以这种方式检索文档。对于这些情况,@MongoId 提供了对实际 ID 映射尝试的更多控制。