0

MongoDBを学び始めたばかりです。

ユーザー入力に基づいたかなり柔軟なスキーマが必要なため、現在のプロジェクトでこれを選択しました。

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 ]
  }
}

一部のオプションの値が 1 つしかない場合は、次のようになります。

{ _id: ObjectId() ,
  options: {
      colors: [ black, white , ... ],
      lace_length: [ 12, 13, 14 ],
      upc: 1234567890
  }
}
于 2012-12-17T22:57:44.760 に答える