我有一个嵌套文档,其中包含一个名为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
是否会产生任何负面影响?