【发布时间】:2015-06-26 09:18:17
【问题描述】:
我有两个模型:
Order.js
module.exports = {
attributes: {
//Id is generated by mongo and is a primary key
address: {
type: 'string',
required: true,
size: 1000
},
status: {
type: 'string',
required: true,
size: 15,
defaultsTo: 'pending',
enum: ['pending', 'processing', 'cancelled']
},
total: {
type: 'string',
required: true,
size: 50
},
menues: {
collection: 'menu',
via: 'orders',
dominant: true
},
customer: {
model: 'customer'
}
}
};
和 Menu.js
module.exports = {
attributes: {
//Id is generated by mongo
name: {
type: 'string',
required: true,
size: 255
},
description: {
type: 'string',
required: true,
size: 1000
},
price: {
type: 'string',
required: true,
size: 15
},
picture: {
type: 'string',
size: 255
},
//Relations
orders: {
collection: 'order',
via: 'menues'
}
}
};
有一个多对多的关系,它完美地工作并创建一个 menu_orders__order_menues 集合,一切都很好。
但我需要按顺序保存每个菜单的数量。就像菜单 id "1" 数量是 2 等等。
所以一个额外的数据是数量:每个订单应该有每个菜单的确定数量。
最好的方法是什么,以及如何将它存储在数据库中? 我想以某种方式将它存储在关系表中,但我不知道如何。
请告诉我最正确和可接受的解决方案。
附:我目前使用 sails-mongo,但很快会迁移到 MySQL 或 Postgres,所以我需要以相对的方式完成。
【问题讨论】:
-
beforeCreate函数呢? -
感谢 Leestex!请给我更多的线索,拜托!
标签: mysql sql node.js sails.js waterline