繁体   English   中英

续集创建不起作用?

[英]Sequelize create not a function?

我正在尝试使用model.create,它说model.create不是一个函数。 我四处搜寻,似乎找不到任何rmesolutions。 请注意,我正在通过babel在节点中使用es6导入/导出。

model.js

'use strict';
export default (sequelize, DataTypes) => {
  let attachments = sequelize.define('attachments', {
    type: DataTypes.STRING,
    category: DataTypes.STRING,
    value: DataTypes.STRING,
  }, {});
  attachments.associate = (models) => {
  };
  return attachments;
};

控制者

import attachments from '../../../models/attachments'
import to_attachments from '../../../models/to_attachments'
import AWSService from '../../utils/awsS3Api'

export async function createPhoto(ctx) {

 ... 

  try {
      let attachment = await attachments.create({
        type: 'image',
        category: imageCategory,
        value: data.location
      });
..etc

我究竟做错了什么?

如果通过函数声明模型:

export default (sequelize, DataTypes) => {
  ...
};

然后您应该使用sequelize.import导入它

const Attachment = sequelize.import('../../../models/attachments')

export async function createPhoto(ctx) {
  const attachment = await Attachment.create({
    type: 'image',
    category: imageCategory,
    value: data.location
  });
}

PS一些建议

1)用处理静态类的大写字母命名模型变量。

const user = await User.findById(123)
const users = await User.findAll({where: {id: [1,2,3]}})

2)单数不是Users而是User

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM