【发布时间】:2014-11-03 13:17:35
【问题描述】:
我是 Sails 的新手,正在创建一个简单的应用程序。
我现在卡在数据模型上。User 模型如下:
module.exports = {
attributes: {
firstName: {
type: 'string'
},
lastName: {
type: 'string'
},
email: {
type: 'email',
required: true
},
password: {
type: 'String'
},
passwordSalt: {
type: 'String'
},
projects:{
collection: 'ProjectMember',
via: 'userId'
}
}
};
我还需要一个名为TinyUser 的模型,它从用户那里获取一些属性(比如用户的外键),这样我就可以访问TinyUser 而不是直接访问User。
TinyUser 模型如下:
module.exports = {
tableName: 'User',
attributes: {
firstName:{
type: 'string'
},
lastName: {
type: 'string'
},
email: {
type: 'email'
}
}
};
ProjectMember 模型如下:
module.exports = {
attributes: {
projectId: {
model: 'Project'
},
userId: {
model: 'TinyUser'
},
projectRole: {
model: 'ProjectRole'
},
}
};
在 Sails 中,无论如何我可以在 TinyUser 中保存数据,而无需实际创建,而只是保存用户表数据的一些属性?
为了清楚起见,如果有另一个名为 Task 的表并且它正在尝试访问用户数据,那么 TinyUser 作为模型而不是 User 是更好的选择,因为它只保存必需的信息。用于任务而不是存储用户所做的所有其他字段。
有什么办法可以解决这个问题吗? 提前致谢
【问题讨论】:
标签: node.js mongodb sails.js data-modeling waterline