Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/369.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用Mongodb时的对象映射_Java_Mongodb - Fatal编程技术网

Java 使用Mongodb时的对象映射

Java 使用Mongodb时的对象映射,java,mongodb,Java,Mongodb,我是mongo db的新手,我没有什么问题 我有以下代码: public class User { private String id; private String name; private List<Order> orders; } public class Order { private String id; private String orderName; private Date orderDate; } 公共类用户 {

我是mongo db的新手,我没有什么问题

我有以下代码:

public class User
{
    private String id;
    private String name;
    private List<Order> orders;
}
public class Order
{
    private String id;
    private String orderName;
    private Date orderDate;
}
公共类用户
{
私有字符串id;
私有字符串名称;
私人名单订单;
}
公共阶级秩序
{
私有字符串id;
私有字符串orderName;
私有日期orderDate;
}
用户对象的最佳持久化策略是什么
我应该为用户和订单创建集合还是仅为用户创建集合? 我应该先保存订单,然后保存用户吗

我正在使用spring数据MongoRepository


谢谢。

< P>我会考虑在建模时如何访问数据。问自己一些问题:

  • 我是否需要在一次呼叫中获得一个用户的订单
  • 平均每个用户有多少订单?如果数量很多,可能最好不要对用户和订单进行非规范化
  • 我的前端将如何访问此信息?大多数打给用户的电话都需要订单吗?那条信息在网上会不会太重/太慢
  • 总的来说,我会偏向于非规范化,而不是规范化的关系本能。有冗余数据和不一致的数据是可以的

    Mongo不做实时连接-最多你可以做map/reduce


    因此,数据的连接需要在数据库(非规范化)或UI中进行。

    mongo网站上有关于这方面的良好信息: