【发布时间】:2017-09-29 17:33:40
【问题描述】:
我有这样的架构:
var CustomUserSchema = new Schema({
role: [],
permissions: [],
});
permissions 字段存储一个字符串数组,如下所示:
["Delete", "Show","Create"]
而
role 字段存储一个对象数组,如下所示:
[
{
name:"admin",
priority:10,
permissions: ["Delete", "Show" , "update"]
},
{
name:"user",
priority:5,
permissions: ["Delete", "Show"]
}
]
现在,我的要求是能够将“显示”存储为架构中permissions 字段的默认值,并将“用户”存储为角色字段内部名称的默认值,内部priority 的优先级为 0 role 字段和 permissions 在 role 字段内的“显示”。
尝试自己,我想出了这个:
var CustomUserSchema = new Schema({
role: [{
name: {type: String, default: 'user'},
priority:{ type: Number, default: 0 } ,
permissions: [{type:String, default:'Show'}]
}],
permissions: [{type:String, default:'Show'}]
});
但它根本没有为字段分配默认值,而是给字段一个大小为 0 的数组。
上述架构似乎有什么问题? 如何将这些存储为默认值?
【问题讨论】:
标签: javascript arrays mongodb mongoose