我正在建模数据库以保存农业数据。我的应用程序中有一些用户类型,如合作伙伴(公司和合作社)和农民。合作伙伴具有特定的访问控制权,而农民的其他访问控制权仅用于查看您的数据。
我的问题是:如何使用mongoose架构来完成这些模型?有趣的是在一个独特的模式中插入所有用户类型?
很抱歉,我在一个表格模型中思考,每个用户类型都有一个单独的表格。
由于
答案 0 :(得分:0)
我认为您正在寻找的是定义架构的enum option。
var ROLES = ["farmer", "partner"]
var UserSchema = new mongoose.Schema({
name: String,
location: String,
role: {
type: String,
enum: ROLES
}
});
这将为用户提供角色,但验证在创建和保存用户时它只能是这两个角色中的一个。无论如何,基于角色的逻辑仍由您决定。这只允许您使模式的其余字段相同。如果每个角色具有不同的键,则不同的集合更实用。如果他们都使用name
和location
以及您拥有的其他任何密钥,那么将它们保持为相同的集合会更有意义。