Ric*_*Raz 3 javascript postgresql node.js objection.js
我是 nodejs 开发的新手,我目前在我的 postgresql 上练习 CRUD 操作。我使用 Objection.js 进行 ORM 和模型制作。我遵循文档中的一些代码并编辑必要的行,但实际上并没有成功,而是返回此错误:
builder.knex(...).queryBuilder 不是函数
我遵循MVC模式,所以我根据它分离文件。
我的控制器:
'use strict';
const Todo = require('./../models/Todo');
class TodoController {
createTodo() {
Todo
.query()
.insert({
'title': 'asdasdasda',
'description': 'sdasdasdasdasdsad',
'date': '2017-12-12',
'isActive': true,
})
.then(name => {
console.log(name.description);
})
.catch(err => {
console.log(err);
});
}
}
module.exports = TodoController;
Run Code Online (Sandbox Code Playgroud)
Knex架构:
knex.schema.createTableIfNotExists('todo', (table) => {
table.increments();
table.string('title', 255).notNullable();
table.text('description').notNullable();
table.boolean('isActive').defaultTo('false');
table.datetime('date').notNullable();
table.timestamp('createdAt').defaultTo(knex.fn.now());
})
Run Code Online (Sandbox Code Playgroud)
模型:
'use strict';
const { Model } = require('objection');
class Todo extends Model {
static get tableName() {
return 'Todo';
}
}
module.exports = Todo;
Run Code Online (Sandbox Code Playgroud)
服务器.js:
...
const KnexConfig = require('./knexfile');
const { Model } = require('objection');
...
...
Model.knex(KnexConfig.development);
Run Code Online (Sandbox Code Playgroud)
希望有人能指导我,我还是 nodejs 的新手
小智 5
看起来您正在尝试将 knex 配置对象传递给,Model.knex()而您需要传递实际的 knex 实例。
在 server.js 上:
const { Model } = require('objection');
const knex = require('knex');
const KnexConfig = require('./knexfile');
Model.knex(knex(KnexConfig.development);
Run Code Online (Sandbox Code Playgroud)
每当传递给 Objection.js 的 knex 实例不是应该的时,就会出现此错误消息。
| 归档时间: |
|
| 查看次数: |
3698 次 |
| 最近记录: |