0

我刚开始学习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 } ] } 
         ]
}

这似乎是一种基于各种用户输入存储灵活“列名”的明智方法,还是有更好的方法来处理这个问题?

谢谢

4

1 回答 1

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
  }
}
于 2012-12-17T22:57:44.760 回答