MongoDB Schema:包含多个字段的数组?

时间:2014-02-17 23:15:52

标签: mongodb schema database

我正在尝试为用户创建一个架构来存储自己喜欢的鞋子。现在,我有以下架构:

local: {
        email        : String,
        password     : String,
}

如何添加一系列鞋子,以便当用户点击按钮时,数据库会将鞋子的品牌和尺寸添加到User对象?如下所示:

favorite_shoes:{品牌:xxxx尺寸:xxxx,品牌:xxxxx尺寸:xxxxxx}

为每个用户。我该怎么做/架构将如何?

1 个答案:

答案 0 :(得分:0)

您的架构如下所示:

{
  usernam: String,
  email: String,
  password : String,
  favorite_shoes: [ { brand: String, size: Int}, {brand: String, size: Int} ]
}

您不必事先创建favorite_shoes字段。它将在您第一次设置其值时创建。

如果您想避免在列表中重复使用鞋子,请使用$addToSet

db.users.update({usernam: "username"}, {$addToSet: {favorite_shoes: { brand: "Adidas", size: 12 } }});