如何在sequilize中将对象作为数据类型传递给数据模型? [英] How to pass object as a data type to a data model in sequilize?

查看:53
本文介绍了如何在sequilize中将对象作为数据类型传递给数据模型?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要传递一些不是原始数据类型的东西.

I need to pass something that is not a primitive to the data type.

我正在构建这样的东西以发送到 create 方法:

I am constructing something like this to send to the create method:

const p2 = {
          location_model: {
          latitude: lat,
           longitude: lng
      },
        establishment_id: createdEstablishment.id
      }

正如你所看到的,instruction_id 是 Integer 类型,而 location_model 是一个对象

As you can see the establishment_id is of type Integer but the location_model is an object

这是我的模型

module.exports = {
  up: (queryInterface, DataTypes) => {
    return queryInterface.createTable('EstablishmentLocation', {
      location_model: {
        type: // need some datatype that accept's an object of that type
        allowNull: false,
        references: {
          model: 'Location',
          key: 'id',
        },
      },
      establishment_id: {
        type: DataTypes.INTEGER,
        allowNull: false,
        references: {
          model: 'Establishment',
          key: 'id',
        },
      },
      createdAt: {
        allowNull: false,
        type: DataTypes.STRING,
        defaultValue: DataTypes.STRING,
      },
      updatedAt: {
        allowNull: false,
        type: DataTypes.STRING,
        defaultValue: DataTypes.STRING,
      }
    });
  },

  down: (queryInterface) => {
    return queryInterface.dropTable('EstablishmentLocation');
  }
};

我的问题是,如何在 sequilize 中将对象传递给数据类型?

My question is, how can I pass an object to a data type in sequilize?

推荐答案

您在模型中提供的 type 是您使用的数据库中定义的类型.如果您使用 postgresql,则可以使用 DataTypes.JSON 作为类型.

The type you provide in the model are the types defined in the database you use. If you are using postgresql, you can use DataTypes.JSON as the type.

如果没有,要保存对象,您可以JSON.stringify对象并将其作为字符串传递.

If not, to save object, you can JSON.stringify the object and pass it as a string.

这篇关于如何在sequilize中将对象作为数据类型传递给数据模型?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆