MongoDB灵活的数据结构
我刚刚开始学习Mongo DB 我在当前项目中选择它是因为我需要一个基于用户输入的相当灵活的模式 在mySql中,我有一个表来存储用户输入的数据MongoDB灵活的数据结构,mongodb,schema,nosql,Mongodb,Schema,Nosql,我刚刚开始学习Mongo DB 我在当前项目中选择它是因为我需要一个基于用户输入的相当灵活的模式 在mySql中,我有一个表来存储用户输入的数据 ID Key Value -------------------------- 1 Color Black 2 Color White 3 Lace_length 12 我认为这是存储用户输入的数据的典型方式,这些数据可能是任何东西 我的问题是,在MongoDB
ID Key Value
--------------------------
1 Color Black
2 Color White
3 Lace_length 12
我认为这是存储用户输入的数据的典型方式,这些数据可能是任何东西
我的问题是,在MongoDB中表示这一点的最佳方式是什么
我的想法是这样的
{ _id: ObjectId{} ,
options: [
{ colors: [ { black, white , ... } ] ,
lace_length: [ { 12, 13 , 14 } ] }
]
}
这似乎是一种基于各种用户输入存储灵活的“列名”的明智方法,还是有更好的方法来处理这个问题
谢谢我不能说我完全理解您的SQL示例。是否有外键,即与对象id相对应的外键 如果您的选项是多对多,我会这样设置:
{ _id: ObjectId() ,
options: {
colors: [ black, white , ... ],
lace_length: [ 12, 13, 14 ]
}
}
{ _id: ObjectId() ,
options: {
colors: [ black, white , ... ],
lace_length: [ 12, 13, 14 ],
upc: 1234567890
}
}
如果某些选项只有一个值,则如下所示:
{ _id: ObjectId() ,
options: {
colors: [ black, white , ... ],
lace_length: [ 12, 13, 14 ]
}
}
{ _id: ObjectId() ,
options: {
colors: [ black, white , ... ],
lace_length: [ 12, 13, 14 ],
upc: 1234567890
}
}
是的,存在与另一个表/集合中的id相对应的内容。谢谢,看来我当时走对了方向。