Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/425.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Sequelize字符串不是函数错误,为什么?_Javascript_Node.js_Sequelize.js - Fatal编程技术网

Javascript Sequelize字符串不是函数错误,为什么?

Javascript Sequelize字符串不是函数错误,为什么?,javascript,node.js,sequelize.js,Javascript,Node.js,Sequelize.js,请你帮忙。 为什么昵称对象中的字符串(150)会出现奇怪的错误 const Sequelize = require('sequelize'); const devOptions = require('./../config/config').connectionConf.development; const sequelize = new Sequelize( devOptions.database, devOptions.username, devOptions.password

请你帮忙。 为什么昵称对象中的字符串(150)会出现奇怪的错误

const Sequelize = require('sequelize');
const devOptions = require('./../config/config').connectionConf.development;

const sequelize = new Sequelize(
  devOptions.database,
  devOptions.username,
  devOptions.password,
  {
    host: devOptions.host,
    dialect: devOptions.dialect
  }
);

const User = sequelize.define('user', {
    user_id: {
      primaryKey:true,
      type:sequelize.BIGINT,
      allowNull:false 
   },
    nickname: {
      type:sequelize.STRING(150),
      unique:true,
      allowNull:false
    },
    email: {
      type:sequelize.STRING(150),
      unique:true,
      allowNull:false
    },
    user_password: {
      type:sequelize.STRING(150),
      unique:true,
      allowNull:false
    },
    created_at: {
      type:sequelize.Date,
      created_time:sequelize.NOW,
      allowNull:false
    },
    updated_at: {
      type:sequelize.Date,
      allowNull:false
    }
  }, {});
TypeError:sequelize.STRING不是函数 反对。(E:\Projects\JavaScript\couponsystem\src\models\schema.js:21:22) at模块编译(内部/modules/cjs/loader.js:688:30) 在Object.Module.\u extensions..js(internal/modules/cjs/loader.js:699:10) 在Module.load(内部/modules/cjs/loader.js:598:32) 在tryModuleLoad(内部/modules/cjs/loader.js:537:12) at Function.Module.\u load(内部/modules/cjs/loader.js:529:3) at Module.require(内部/modules/cjs/loader.js:636:17) 根据需要(内部/modules/cjs/helpers.js:20:18) 反对。(E:\Projects\JavaScript\couponsystem\src\models\generator.js:1:78) at模块编译(内部/modules/cjs/loader.js:688:30) 在Object.Module.\u extensions..js(internal/modules/cjs/loader.js:699:10) 在Module.load(内部/modules/cjs/loader.js:598:32) 在tryModuleLoad(内部/modules/cjs/loader.js:537:12) at Function.Module.\u load(内部/modules/cjs/loader.js:529:3) 位于Function.Module.runMain(内部/modules/cjs/loader.js:741:12) 启动时(内部/bootstrap/node.js:285:19) 在bootstrapNodeJSCore(internal/bootstrap/node.js:739:3)


这应该行得通,有关更多信息,请阅读下面的文档

const Sequelize = require('sequelize');
const devOptions = require('./../config/config').connectionConf.development;

const sequelize = new Sequelize(
  devOptions.database,
  devOptions.username,
  devOptions.password,
  {
    host: devOptions.host,
    dialect: devOptions.dialect
  }
);

const User = sequelize.define('user', {
    user_id: {
      primaryKey:true,
      type:sequelize.BIGINT,
      allowNull:false 
   },
    nickname: {
      type:sequelize.STRING,
      unique:true,
      allowNull:false
    },
    email: {
      type:sequelize.STRING,
      unique:true,
      allowNull:false
    },
    user_password: {
      type:sequelize.STRING,
      unique:true,
      allowNull:false
    },
    created_at: {
      type:sequelize.Date,
      created_time:sequelize.NOW,
      allowNull:false
    },
    updated_at: {
      type:sequelize.Date,
      allowNull:false
    }
  }, {});

这应该行得通,有关更多信息,请阅读下面的文档

const Sequelize = require('sequelize');
const devOptions = require('./../config/config').connectionConf.development;

const sequelize = new Sequelize(
  devOptions.database,
  devOptions.username,
  devOptions.password,
  {
    host: devOptions.host,
    dialect: devOptions.dialect
  }
);

const User = sequelize.define('user', {
    user_id: {
      primaryKey:true,
      type:sequelize.BIGINT,
      allowNull:false 
   },
    nickname: {
      type:sequelize.STRING,
      unique:true,
      allowNull:false
    },
    email: {
      type:sequelize.STRING,
      unique:true,
      allowNull:false
    },
    user_password: {
      type:sequelize.STRING,
      unique:true,
      allowNull:false
    },
    created_at: {
      type:sequelize.Date,
      created_time:sequelize.NOW,
      allowNull:false
    },
    updated_at: {
      type:sequelize.Date,
      allowNull:false
    }
  }, {});

由于无法使用
sequelize
访问数据类型,我开始查看模块的主类

执行此操作时,
const Sequelize=require('Sequelize')您正在调用一个扩展数据类型的接口(它们也是一个接口),因此您可以毫无问题地使用BIGINT或STRING

但当您这样做时

const sequelize = new Sequelize(
    devOptions.database,
    devOptions.username,
    devOptions.password,
    {
        host: devOptions.host,
        dialect: devOptions.dialect
    }
);
您指的是上述接口的构造函数(构造签名)。这导致
sequelize
中的对象是另一个类或函数的实例,而不是对
sequelize
的直接引用,这就是它们具有不同属性的原因


总之,这将是执行您请求的代码实现的正确方法

const Sequelize = require('sequelize');
const devOptions = require('./../config/config').connectionConf.development;

const sequelize = new Sequelize(
    devOptions.database,
    devOptions.username,
    devOptions.password,
    {
        host: devOptions.host,
        dialect: devOptions.dialect
    }
);

const User = sequelize.define('user', {
    user_id: {
        primaryKey: true,
        type: Sequelize.BIGINT,
        allowNull: false
    },
    nickname: {
        type: Sequelize.STRING(150),
        unique: true,
        allowNull: false
    },
    email: {
        type: Sequelize.STRING(150),
        unique: true,
        allowNull: false
    },
    user_password: {
        type: Sequelize.STRING(150),
        unique: true,
        allowNull: false
    },
    created_at: {
        type: Sequelize.Date,
        created_time: Sequelize.NOW,
        allowNull: false
    },
    updated_at: {
        type: Sequelize.Date,
        allowNull: false
    }
}, {});
接口中的构造签名不能在类中实现;它们只用于定义现有的JSAPI,这些API定义了一个“新”的 功能


由于无法使用
sequelize
访问数据类型,我开始查看模块的主类

执行此操作时,
const Sequelize=require('Sequelize')您正在调用一个扩展数据类型的接口(它们也是一个接口),因此您可以毫无问题地使用BIGINT或STRING

但当您这样做时

const sequelize = new Sequelize(
    devOptions.database,
    devOptions.username,
    devOptions.password,
    {
        host: devOptions.host,
        dialect: devOptions.dialect
    }
);
您指的是上述接口的构造函数(构造签名)。这导致
sequelize
中的对象是另一个类或函数的实例,而不是对
sequelize
的直接引用,这就是它们具有不同属性的原因


总之,这将是执行您请求的代码实现的正确方法

const Sequelize = require('sequelize');
const devOptions = require('./../config/config').connectionConf.development;

const sequelize = new Sequelize(
    devOptions.database,
    devOptions.username,
    devOptions.password,
    {
        host: devOptions.host,
        dialect: devOptions.dialect
    }
);

const User = sequelize.define('user', {
    user_id: {
        primaryKey: true,
        type: Sequelize.BIGINT,
        allowNull: false
    },
    nickname: {
        type: Sequelize.STRING(150),
        unique: true,
        allowNull: false
    },
    email: {
        type: Sequelize.STRING(150),
        unique: true,
        allowNull: false
    },
    user_password: {
        type: Sequelize.STRING(150),
        unique: true,
        allowNull: false
    },
    created_at: {
        type: Sequelize.Date,
        created_time: Sequelize.NOW,
        allowNull: false
    },
    updated_at: {
        type: Sequelize.Date,
        allowNull: false
    }
}, {});
接口中的构造签名不能在类中实现;它们只用于定义现有的JSAPI,这些API定义了一个“新”的 功能


这种语法有什么问题???类型:sequelize.STRING(150)个文档-嗯,错误非常具体。字符串不是函数。因此,要么需要错误的“序列化”。或者文档是错误的。或者输出是假的。或者更可能。“sequalize”常量是用不相关的参数启动的。@ArelSapir文档:,清楚地表明
sequalize.STRING
是一个函数。正如我所说的。这可能是其中一种情况:要么需要错误的“序列化”。或者文档是错误的。或者输出是假的。或者“sequalize”常量是用错误的参数启动的。sequelize.STRING和sequelize.STRING有什么区别吗?这种语法有什么问题???类型:sequelize.STRING(150)个文档-嗯,错误非常具体。字符串不是函数。因此,要么需要错误的“序列化”。或者文档是错误的。或者输出是假的。或者更可能。“sequalize”常量是用不相关的参数启动的。@ArelSapir文档:,清楚地表明
sequalize.STRING
是一个函数。正如我所说的。这可能是其中一种情况:要么需要错误的“序列化”。或者文档是错误的。或者输出是假的。或者“sequalize”常量是用错误的参数启动的。sequelize.STRING和sequelize.STRING有什么区别吗?