数据库
首页 > 数据库> > java-用弹簧数据查询键值的mongodb查询

java-用弹簧数据查询键值的mongodb查询

作者:互联网

我已经开始使用mongodb以及spring boot和spring JPA数据进行项目,但我意识到我无法将数据模型映射到实体并对此进行轻松查询,所以我有两个问题,

我的数据模型就是这样(仅用于一个Collection)

{
   name: "Name",
   lastName: "Last Name",
   attributes: {
      age: 25
      eye: {
         color: "RED",
         size: "BIG"
      }
   }
}

我的实体是

@Entity // or @Document
public class User{
   private String name;
   private String lastName;
   private Map<String, ?> attributes = new HashMap<>();

   // id or the setter getter are omitted
}

>是否可以像我一样在mongodb集合中映射属性属性(Map)
>如何查询以查找属性?

我可以那样做吗?
列出<用户> findAllByAttributesAge(整数年龄);

解决方法:

Can I map attributes property in my mongodb collection like I did ( Map )

是的,您可以,它可能对于“ dynamic”或“ partly defined”模式很有用(尽管很棘手).

如果您事先知道您的架构,强烈建议您在您的域对象中显示它.看看here.

How can I make query for finding the attributes?

如果您不使用动态模式,则在Spring Data MongoDB Reference Documentation中会明确说明嵌套属性的属性遍历.

如果使用动态架构,则很可能会使用MongoDB JSON based query methods.

标签:mongodb,spring-boot,spring-data-mongodb,spring,java
来源: https://codeday.me/bug/20191027/1941883.html