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 映射尝试的更多控制。
我正在尝试将模型添加到 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 映射尝试的更多控制。