在SailsJS模型中嵌套对象



如何将完整的对象workstation放入另一个对象userWorkstationSchedule

代码:

Workstation.js

module.exports = {
tableName: 'workstation',
attributes: {
name: { type: 'string', required: true, maxLength: 100, columnType: 'VARCHAR(100)' },
company: { model: 'company', required: true },
workDates: { collection: 'workstationSchedule', via: 'workstation'},
reservedDates: {collection: 'userWorkstationSchedule', via: 'workstation'},
}
}

reservedDates属性接收来自userWorkstationSchedule对象的数据UserWorkstationSchedule.js

module.exports = {
tableName: 'user_workstation_schedule',
attributes: {
presenceSchedules: { collection: 'presenceschedule', via: 'userWorkstationSchedule' },
workstation: {collection: 'workstation', via: 'reservedDates'},
}
}

你不需要放"完整的对象",他已经在了,这就是Sails.js和任何ORM的力量。

数据影响是异步和"懒惰"的。(更多关于LazyLoading的信息(

ORM只加载绝对必要的内容,而不是所有链接的关联。

在Sails.js中,当您需要一个特定的数据时,您需要通过.populate((方法来填充它。

var userWorkstationSchedule = await UserWorkstationSchedule.find().populate('workstation');

你可以在Sails.JS文档中找到更多关于填充的信息

相关内容

  • 没有找到相关文章

最新更新