序列化数组存储对象? _隔离nodejs

时间:2019-08-06 16:55:26

标签: node.js postgresql sequelize.js

我的问题是关于在关系数据库中处理以下方案的通用问题。

首先,我知道SQL DBS和NoSQL DBS如何工作。但是我有一个小问题,我的知识还不够。这是我与SQL数据库有关的主要问题。

场景:  假设我们有一个包含许多产品的订单表:

 const Order = sequelize.define('Order', {
    delivery_time: DataTypes.DATE,
    product_id: DataTypes.INTEGER,
  }
const Product = sequelize.define('Product', {
    name: { type: DataTypes.STRING, unique: true },
    price: { type: DataTypes.INTEGER },
    image: DataTypes.STRING,
  }

所以我需要一个结构,每个订单中的产品都有2个字段: 1.product_id 2. count_of_product

在像MongoDB这样的NoSQL结构中,我们只需定义以下内容即可:

order : [
    {
        product_id,
        count_of_product
    }
]

因为一切都是文档。对? 我发现sequelize具有仅在Postgres SQL中支持的数组DataType。

https://sequelize.org/master/class/lib/data-types.js~ARRAY.html

我可以定义这样的东西吗?

products: DataTypes.ARRAY([{
        count_of_product: DataTypes.DECIMAL,
        product_id: DataTypes.INTEGER,
     }])

我认为我不太了解SQL的概念,这种情况在SQL数据库中如何工作?当然,我可以使用DataTypes.TEXT,并在代码逻辑中做一些填充,但是我需要一种更好的方法。

0 个答案:

没有答案