@Field注释不适用于Spring Data中的ID字段

时间:2016-02-10 22:14:11

标签: mongodb spring-data spring-data-mongodb

我有一个嵌套文档,其中包含一个名为id的字段。 Spring Data会自动将其转换为_id,但这是不必要的,因为它是嵌套文档。我看到有人问过类似的问题here,所以我添加了注释@Field("id")。但是,它似乎不起作用,该字段仍保存为_id。特别奇怪的是,我将注释添加到类中的另一个字段,并使用了备用字段名称:

@Field("x")
private String id;
@Field("y")
private String type;

进行此更改后,Mongo中的文档显示如下:

{
    "_id" : "abc",
    "y" : "def"
}

另一个奇怪的事情是我对field.id的查询始终返回结果,即使文档实际存储为field._id。相同的查询不会返回shell的结果。

为了省去尝试进一步调试问题的挫败感,将字段保留为_id是否会产生任何负面影响?

0 个答案:

没有答案