【发布时间】:2014-08-20 05:15:11
【问题描述】:
在sailsjs.org 的文档中,拥有方的一对多关系是这样定义的
//user.js
module.exports = {
attributes: {
name:'STRING',
age:'INTEGER',
pets:{
collection: 'pet',
via: 'owner'
}
}
}
'pet' 是一个常量,在 SQL 数据库中具有一致的架构。如果我想拥有一个超类宠物和具有独特属性(不同行数)的子类怎么办?假设我有一条章鱼和一条狗。狗有 4 条腿和 2 只耳朵。章鱼有 8 条触手。唯一的共性会被抽象成宠物类(颜色、名字、年龄)。
如果这是不可能的,我将不得不诉诸这样的事情吗?
//user.js
module.exports = {
attributes: {
name:'STRING',
age:'INTEGER',
dogs:{
collection: 'dog',
via: 'owner'
},
octopuses:{
collection: 'octopus',
via: 'owner'
}
}
}
但是,如果我想引入更多的宠物,如鹰(会飞)、鹦鹉(会说话),这可能会变得非常混乱,如果我要使用 SQL 数据库,则会导致很多空值。也许 mongoDB 会是理想的选择?
【问题讨论】:
标签: javascript node.js orm sails.js waterline