我正在使用mongodb。我的模型是工厂,风格,流程
Style有工厂
流程有一种风格
所以它是工厂与风格,风格和流程之间的一对多关系
流程模型
name:{
type: String,
required: true,
},
style: {type:Schema.Types.ObjectId,ref:'Style'}
样式模型
code:{
type: String,
required: true,
unique: true
},
factory: {type:Schema.Types.ObjectId,ref:'Factory'},
问题是当他们的文档很多时,1000factory - > styles->进程
查找特定工厂的样式将花费大量时间,对于特定样式的流程也是如此
所以最好为它的流程添加一个样式的ref数组,并为工厂添加一个样式的ref数组呢?
如果是这样,我应该删除样式参考过程还是可以离开?
会影响存储空间吗?还是表现呢?
答案 0 :(得分:3)
5q1q1q2q21q2q12q1
的工厂(示例)。所以它将转到所有相同的样式id并获得所有工厂和其他方面你只需获得一个样式模型并通过填充(mongoose)或查找(获取所有工厂)您选择的MongoDB Aggregate。