【发布时间】:2014-03-17 11:10:25
【问题描述】:
我正在尝试为用户创建一个架构来存储他们最喜欢的鞋子。现在,我有以下架构:
local: {
email : String,
password : String,
}
如何添加鞋子数组,以便当用户单击按钮时,数据库会将鞋子品牌和尺码添加到 User 对象中?就像这样:
favorite_shoes: { 品牌:xxxx 尺寸:xxxx,品牌:xxxxx 尺寸:xxxxxx}
为每个用户。我将如何做到这一点/架构会是什么样子?
【问题讨论】:
-
只需在用户映射中插入
favorite_shoes,db.users.update({usernam: "username"}, {$set: {favorite_shoes: ...}}),mongodb没有架构。 -
但是我不需要在它初始化数据库的时候给它设置字段吗?我还需要这是一系列不同尺寸的品牌吗?
-
一点也不,
mongodb是一个无模式的文档数据库,您可以插入任何结构的地图。 docs.mongodb.org/manual/core/introduction -
使其成为地图数组
[{brand: xxx, size:123}, ...] -
所以更新后的模式应该是这样的: var userSchema = mongoose.Schema({ local : { email : String, password : String, } favorite_shoes : [{ name : String, size : Number, } ] });