我一直试图让我的头脑围绕着 MongoDB,因为它被 Spring 使用,所以我决定在 Spring Roo 开始一个小项目。
在我的项目中,我将用户登录数据存储到 MongoDB。问题是注册过程,它创建一个新的用户对象并将其存储在 MongoDB 中,尽管我在 loginId 字段上有@Unique,但仍有创建重复项的趋势。
现在,我知道部分问题是我正在从 JPA/RDBMS 的角度考虑问题,而 MongoDB 不是关系数据库,因此有一组不同的参数可供操作,但我无法找到指导不仅仅是一个非常简单的示例代码。
首先,有哪些 Spring/Other 注释可用,更重要的是,在处理来自 Spring 世界的 MongoDB 时常用到哪些注释?其次,在处理需要“唯一”的文档时,通常如何做到这一点?您是否首先搜索唯一字段以确保它不存在,然后插入?第三,在 JPA 领域,我可以使用注释 @PrePersist 和 @PreUpdate 进行最后一分钟的数据操作,例如已更新的 MD5 哈希密码或在存储之前添加/更新“上次修改”日期。我知道这是 JPA-isms,但我仍然可以使用它们吗?如果不能,是否有替代方法可以与 Spring Data/MongoDB 一起使用?