我开始使用node.js和sequelize,我收到以下错误:
/home/cbaket/test/test.js:9
.complete(function(err) {
^
TypeError: undefined is not a function
at Object.<anonymous> (/home/cbaket/test/test.js:9:6)
at Module._compile (module.js:460:26)
at Object.Module._extensions..js (module.js:478:10)
at Module.load (module.js:355:32)
at Function.Module._load (module.js:310:12)
at Function.Module.runMain (module.js:501:10)
at startup (node.js:129:16)
at node.js:814:3
我的文件:test.js是:
var Sequelize = require('sequelize');
var sequelize = new Sequelize('apidb', 'apidb', 'apidb', {
dialect: "mysql", // or 'sqlite', mysql', 'mariadb'
port: 3306 // or 5432 (for postgres)
});
sequelize
.authenticate()
.complete(function(err) {
if (!!err) {
console.log('Unable to connect to the database:', err)
} else {
console.log('Connection has been established successfully.')
}
});
我正在关注Sequelieze网站上的一个早期教程。
我使用以下命令安装了最新的sequelize和mysql。
$ npm install mysql
$ npm install sequelize
我尝试了很多类似的例子并且总是得到同样的错误。 这些库正在工作,因为其他示例工作正常,我可以在数据库中创建表并从中获取数据,但验证函数总是失败。
谢谢! ;)
答案 0 :(得分:16)
Authenticate在sequelize的更高版本中返回Promise: https://github.com/sequelize/sequelize/blob/2.0/lib/sequelize.js#L939
阅读bluebird文档,因为它非常有用: https://github.com/petkaantonov/bluebird/blob/master/API.md
这样的事情应该有用(确保检查连接错误......这只是一个简单的例子):
cimport numpy as np
import numpy as np
import math
def logFullConAlphaK_opt(double[:] p, double[:] alpha, int k):
cdef double t1=np.sum(np.log(p))
cdef double y=((alpha[k-1]-1)*t1)-np.log(alpha[k-1])+(p.shape[0]*
(math.lgamma(np.sum(alpha))- math.lgamma(alpha[k-1])))
return y
答案 1 :(得分:5)
您好sequelize在最新版本中更改了他们的身份验证计划..请恢复旧版本并试用
答案 2 :(得分:2)
npm install sequelize@1.7.0
它有效!!
我没有找到任何关于这方面的信息......难道他们不应该警告用户弃用或修改过的功能吗?¿?... ...
谢谢! ;)
答案 3 :(得分:0)
卸载系统中安装的sequelize模块,然后使用
安装该版本npm install sequelize@1.7.0
检查models文件夹并确保其中包含正确的文件