【问题标题】:How can I insert an array of data into a SQL Server database using sequelize in node js如何在节点 js 中使用 sequelize 将数据数组插入 SQL Server 数据库
【发布时间】:2018-12-29 12:57:59
【问题描述】:

我有两个表 asssessmentquestions,我想将 questions 表中的一些问题插入到单个评估表的评估表中,所以我有一系列问题,我想将这些问题插入到评估中单项评估表。

【问题讨论】:

    标签: sql-server node.js sequelize.js


    【解决方案1】:

    只使用这两个表听起来不是一个好方法。它违反了数据库的关系模型。

    您可能希望使用以下方法:

    表[评估]:评估本身的主要描述,每个评估一行,主键例如评估_ID。

    表 [问题]:您拥有的当前表,希望有一个主键列,例如 question_ID。

    表 [asssessment_questions]:具有单独的主键列、具有对 [assessment] 表的外键引用的列 [assessment_ID] 以及具有对 [questions] 表的外键引用的列 [question_ID]。

    然后,您可以添加一个 [persons] 表来存储有关进行评估的人员的数据,并将此表链接到 [assessment] 表,其中包含类似于 [asssessment_questions] 的中间表。

    下一步,您可能希望收集个人如何在特定评估中回答特定问题的信息。这可以通过另一个类似于 [assessment_questions] 但基于 [assessment_questions] 和 [persons] 的表来完成。

    【讨论】:

      【解决方案2】:

      您可以使用 sequelize 在数据库中插入数组。您想更改模型,如下所示。我正在尝试通过数组在数据库中添加多种语言。

      language: {
              type: DataTypes.STRING,
              allowNull: false,
              get() {
                  return this.getDataValue('language').split(';')
              },
              set(val)            
                {
                 this.setDataValue('language',Array.isArray(val) ? val.join(','):val);
      
            }
        },   
      

      【讨论】:

        猜你喜欢
        • 2019-12-23
        • 2021-11-12
        • 2019-11-22
        • 2012-01-31
        • 1970-01-01
        • 1970-01-01
        • 2018-08-18
        • 2016-09-02
        • 1970-01-01
        相关资源
        最近更新 更多