如何解决将外键保存在订单数据库中的良好做法
将外键存储在orders
数据库中是否是一种好习惯?
并使用填充来检索对象信息?
在我们的开发环境中,我们使用NodeJ和MongoDB并使用猫鼬进行连接。猫鼬可以自动填充产品详细信息。
但是当产品被删除时,订单被弄乱了。
让我举例说明
{
id: 'ORDER0001',customer: 'John Smith',products: [
{
productid: "45645849",qty: 1,total: 550
}
{
productid: "1234895468",qty:2,total: 1000
}
]
}
填充后,它变为:
{
id: 'ORDER0001',products: [
{
productid: {
id: "45645849",name: "HP Notebook XYZ"
price: 550,desc: "Bla bla bla..."
},total: 550
}
{
productid: {
id: "1234895468",name: "LG 32 Monitor"
price: 500,total: 1000
}
]
}
看起来不错。但是,当数据库变大时,我们也可以信任猫鼬吗?目前,我对此表示怀疑,并在思考未来。也许将产品名称存储为产品数组中的字段。为了获得性能。
保存到数据库中是否有好的做法?
你们是怎么做到的?谢谢
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。