私はnode.jsとORMで新しく、db querysにはbookshelfを使用しています。 だから、私は本棚のドキュメントをチェックし、私はMySQLでの私の既存のスキーマへのクエリを構築しようとしているときには、次のエラーがスローされます。ここビルダー= bookshelf.knex(tableNameOrBuilder);
TypeError: bookshelf.knex is not a function
at Child.builderFn [as _builder] (/home/mauricio/techday/techday- node/node_modules/bookshelf/lib/bookshelf.js:314:27)
at Object.query (/home/mauricio/techday/techday-node/node_modules/bookshelf/lib/helpers.js:44:23)
at Child.query (/home/mauricio/techday/techday-node/node_modules/bookshelf/lib/model.js:1243:30)
at Function.Model.(anonymous function).Collection.(anonymous function) [as query] (/home/mauricio/techday/techday-node/node_modules/bookshelf/lib/bookshelf.js:333:28)
at Object.<anonymous> (/home/mauricio/techday/techday-node/app.js:20:2)
at Module._compile (module.js:571:32)
at Object.Module._extensions..js (module.js:580:10)
at Module.load (module.js:488:32)
at tryModuleLoad (module.js:447:12)
at Function.Module._load (module.js:439:3)
at Module.runMain (module.js:605:10)
at run (bootstrap_node.js:427:7)
at startup (bootstrap_node.js:151:9)
at bootstrap_node.js:542:3
は私のクエリです:
user
.query('where', 'usuario', '=', 'admin')
.fetch()
.then(function(user) {
console.log(user)
});
ここに私のdb.jsです:
'use strict'
var db = require('bookshelf')(knex);
var securePassword = require ('bookshelf-secure-password');
db.plugin(securePassword);
db.plugin('registry');
var knex = require('knex')({
client: 'mysql',
connection: {
host: 'localhost',
user: 'root',
password: 'password',
database: 'test',
charset: 'utf8'
}
});
module.exports = db;
そして今、私のuser.jsの
var db = require('../Commons/db.js');
var bcrypt = require('bcrypt-nodejs');
var user = db.Model.extend({
tableName: 'usuario',
hasSecurePassword: 'contraseña'
});
module.exports = db.model('user',user);
どのように 'db'と' user'定義されていますか?両方を定義するコードを追加してください。 – flaviodesousa
私は既にuserとdbの両方を追加しました。 –