在同一集合中创建对象的mongodb模式数组或创建新集合保存引用的更好方法



我很想知道哪种设计模式的更好方法

1(假设集合XYZ

{
field1:anything
field2: anything
pqr:[{ name:String , value:Number} ]
}

2(

xyz collection        and pqr collection
{                                 {
reference id of xyz,
name:String , 
value:Numbee
field1:anything                    }
field2: anything
}

注意:考虑到在第一次方法中数组的大小不会超过 250

我认为第一种方法比第二种方法更好,因为数组字段中的对象并不复杂。 但我认为你应该看到你会回应的请求。例如,如果您有请求GET /xyz并且不需要返回 pqr 数组,则第一种方法是所选的方法。 但是,如果您有请求GET /xyz/:id/pqr或者您需要返回 pqr 数组GET /xyz第二种方法更好,因为您可能希望对此请求进行分页,并且在第二种方法很容易实现,因为是一个db.collection.find(query).skip(page * size).limit(size),但在第一种方法中,您必须在内存中或使用聚合来解决此问题。

PD:对不起我的英语。