Node.js Knex.js-TypeError:db(…).return(…).insert不是函数

Node.js Knex.js-TypeError:db(…).return(…).insert不是函数,node.js,express,knex.js,Node.js,Express,Knex.js,我得到的错误是:TypeError:db(…)。return(…)。insert不是函数 出于某种原因,代码运行时不会出现问题,但是当它运行到 'db('courses') .return('*') .insert({' 它给出错误:TypeError:db(…)。return(…)。insert不是函数 我搞不懂发生了什么事,我已经被困在这上面4个小时了 我的代码示例: const express = require('express'); const bodyParser = re

我得到的错误是:TypeError:db(…)。return(…)。insert不是函数

出于某种原因,代码运行时不会出现问题,但是当它运行到

'db('courses')
  .return('*')
  .insert({'
它给出错误:TypeError:db(…)。return(…)。insert不是函数

我搞不懂发生了什么事,我已经被困在这上面4个小时了

我的代码示例:

const express = require('express');
const bodyParser = require('body-parser');
const cors = require('cors');
const knex = require('knex');


const db = knex({
  client:'pg',
  connection:{
    host:'127.0.0.1',
    port:'5432',
    user:'postgres',
    password:'',
    database:'YouList'
  }
})


const app = express();

app.use(bodyParser.json());
app.use(cors())

db.select('*').from('users').then(data => {
  console.log(data,'oia a data ai');
});

/*testando sem API*/ 
db('courses')
  .return('*')
  .insert({
    title: "o grande curso",
    description : "uma introducao aos ventos do leste",
    user_id : 78,
    urlimage : "https://i.imgur.com/TiavcG9.jpg",
    created : new Date()
  })
  .then(console.log)
  .then(user => {
    res.json(user[0]);
  })
.catch(err => res.status(400).json('unable to register'))

您正在调用
return
,而不是
returning
。您还应该将其从
insert
中链接出来,而不是将其放在前面。让它更地道一点

所以只要换个方向

db('courses')      
  .insert({
    foo: 'bar'
  })
  .returning('*')

您正在调用
return
,而不是
returning
。您还应该将其从
insert
中链接出来,而不是将其放在前面。让它更地道一点

所以只要换个方向

db('courses')      
  .insert({
    foo: 'bar'
  })
  .returning('*')

我的朋友,给你的小费真不错!我的朋友,给你的小费真不错!