对于我,我想使用spring mongotemplate更新mongodb中的现有记录。为此我必须从mongodb中搜索现有记录。在mongodb中保存记录,它会自动在每个记录中创建一个名为"_id"
的字段记录。我尝试了很多来访问这个领域。但是我无法做到.. :(
因此我在DTO对象中手动创建了一个名为myid
的字段。每次保存我都在序列化文件中的id并保存。使用此myid
进行搜索。我知道硬编码文件路径会在服务器中部署时产生问题。
有没有办法做这个或以任何方式访问系统生成的_id
进行搜索和更新.. ??
感谢。
答案 0 :(得分:1)
_id
是主键。如果您没有在对象中使用注释@id
指定字段,则Mongo
将为您创建一个字段。您无法访问它,因为Mongo
无法填充该字段,因为它不存在或缺少映射。
你必须在你的代码中有类似的东西[如果你也可以发布你的代码会很好。]
import org.springframework.data.annotation.Id;
@Id
protected String id;
HTH