我刚开始学习Mongo DB。
我选择它作为我当前的项目,因为我需要一个基于用户输入的相当灵活的架构。
在mySql中,我有一个表来存储用户输入的数据,看起来像
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 } ] }
]
}
这是否是根据各种用户输入存储灵活“列名”的合理方法,还是有更好的方法来处理这个问题?
由于
答案 0 :(得分:1)
我不能说我完全理解你的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
}
}