Performance MongoDB,对象性能的一般关系
首先,我是DB设计和MongoDB的新手 我有一个这样的DB结构Performance MongoDB,对象性能的一般关系,performance,mongodb,mongoose,relationships,Performance,Mongodb,Mongoose,Relationships,首先,我是DB设计和MongoDB的新手 我有一个这样的DB结构 title description [generic_object] date_created date_updated ... 泛型对象是指不同的内容类型,如下所示: food_venue: {lat: long:} 或 我试图告诉泛型对象有不同的类型/作业 我有这样的想法,但我认为这不是最好的办法 title description type : food or drink food : {food_id: ... $re
title
description
[generic_object]
date_created
date_updated
...
泛型对象是指不同的内容类型,如下所示:
food_venue: {lat: long:}
或
我试图告诉泛型对象有不同的类型/作业
我有这样的想法,但我认为这不是最好的办法
title
description
type : food or drink
food : {food_id: ... $ref: food model}
drink : {drink_id: ... $ref: drink model}
...
如果我添加一个饮料对象,食物对象将为null或空白
在MongoDB(或MongooseJS)中设计此数据库的最佳性能方法是什么?MongoDB是一个“无模式”数据库,因此存储的文档可能会有所不同。在泛型对象中,您只需保存所需的任何子文档(食物或饮料)。无论如何,为了方便起见,您的数据库中应该有一个结构,这样您就可以添加一些额外的字段。就你而言:
{
title:"title",
description:"description",
generic:
{
type:"food",
field1:"field1",
field2:"field2",
field4:"field3",
}
}
{
title:"title2",
description:"description2",
generic:
{
type:"drink",
otherField1:"field1",
otherField2:"field2",
}
}
MongoDB对每个文档的限制是16MB,因此如果您非常确定不会使用那么大的空间,可以将所有信息嵌入到一个文档中
{
title:"title",
description:"description",
generic:
{
type:"food",
field1:"field1",
field2:"field2",
field4:"field3",
}
}
{
title:"title2",
description:"description2",
generic:
{
type:"drink",
otherField1:"field1",
otherField2:"field2",
}
}