类型错误:this.build(...).save 不是函数

Ria*_*ini 1 request node.js sequelize.js

您好,我尝试将数据保存到数据库,但返回错误:

/home/ria/gajiandulu/gajiandulu-api/node_modules/sequelize/lib/model.js:2035
}).save(options);
Run Code Online (Sandbox Code Playgroud)

代码:

var data = []
router.get('/',  (req, res,next) => {
    request('http://localhost:3000/api/v1/promos',  (error, response, body) => {
        if(error) { 
            res.json('An erorr occured')
            console.log(error)
        }
        else {
            let result = JSON.parse(body)
            res.send(result.data)
            data.push(result.data)
        }
        console.log(data + "ini")

        const save_data = Test.create(data)
        if (save_data) {
            return res
            .status(201)
            .json(true, 'data has ben retrieved')
        }else{
            return res.status(400).json(response(false, error))
        }
    });
});
Run Code Online (Sandbox Code Playgroud)

有人知道我的代码有什么问题吗???????

Viv*_*shi 5

如您所见, create函数Object不接受Array

public create(values: Object, options: Object): Promise
Run Code Online (Sandbox Code Playgroud)

你正在传递的是一个Array

var data = []; // <---- HERE
router.get('/',  (req, res,next) => {
    request('http://localhost:3000/api/v1/promos',  (error, response, body) => {
        ...
        else {
            ...
            data.push(result.data) // <---- HERE
        }
        console.log(data + "ini")
        ...
        const save_data = Test.create(data) // <---- HERE
        ...
    });
});
Run Code Online (Sandbox Code Playgroud)

如果您正在搜索多行 create ,那么您可以使用bulkCreate而不仅仅是create

public static bulkCreate(records: Array, options: Object): Promise<Array<Model>>
Run Code Online (Sandbox Code Playgroud)