2

我一直试图让我的头脑围绕着 MongoDB,因为它被 Spring 使用,所以我决定在 Spring Roo 开始一个小项目。

在我的项目中,我将用户登录数据存储到 MongoDB。问题是注册过程,它创建一个新的用户对象并将其存储在 MongoDB 中,尽管我在 loginId 字段上有@Unique,但仍有创建重复项的趋势。

现在,我知道部分问题是我正在从 JPA/RDBMS 的角度考虑问题,而 MongoDB 不是关系数据库,因此有一组不同的参数可供操作,但我无法找到指导不仅仅是一个非常简单的示例代码。

首先,有哪些 Spring/Other 注释可用,更重要的是,在处理来自 Spring 世界的 MongoDB 时常用到哪些注释?其次,在处理需要“唯一”的文档时,通常如何做到这一点?您是否首先搜索唯一字段以确保它不存在,然后插入?第三,在 JPA 领域,我可以使用注释 @PrePersist 和 @PreUpdate 进行最后一分钟的数据操作,例如已更新的 MD5 哈希密码或在存储之前添加/更新“上次修改”日期。我知道这是 JPA-isms,但我仍然可以使用它们吗?如果不能,是否有替代方法可以与 Spring Data/MongoDB 一起使用?

4

2 回答 2

0

我最终在我的实体上使用了@Id 注释,它指示哪个字段用作 id 字段。只要该字段是唯一的,写入后续更新将正确替换现有实体,而不是添加新实体。

于 2013-01-29T20:51:28.297 回答
0

我最终创建了额外的方法来检查是否存在与我们输入的数据具有重复值的数据。如果存在,我返回失败,指出存在重复值。否则它会保存新输入的值

于 2019-01-17T08:31:14.483 回答