如果我不使用水线,如何在 Controller 或任何其他模型文件中获取 knex 对象。
例如: 在我的 api/models/Users.js 中
module.exports = {
find : function(id){
// my knex query
},
insert : function(data){
// my knex query again
}
}
所以在我的 Controller 中我会这样做:
var result = Users.find(id);
或
var result = Users.insert({username : 'sailsjs'});
或者 knex 对象将在全局范围内可用,而无需在模型文件本身中使用...这样我就可以在 Controller 中执行 knex 查询
//UsersController/索引
index : function(req, res){
// my knex query
}
谢谢 阿里夫
最佳答案
//config/bootstrap.js
module.exports.bootstrap = function (cb) {
var Knex = require('knex');
var knex = Knex.initialize({
client : "mysql",
connection : {
host :'localhost',
user :'root',
database : 'sales_force',
password : '*******'
}
});
knex.instanceId = new Date().getTime();
sails.config.knex = knex;
// It's very important to trigger this callack method when you are finished
// with the bootstrap! (otherwise your server will never lift, since it's waiting on the bootstrap)
cb();
};
//在 Controller 中
var knex = sails.config.knex
这将返回 knex 对象。 knex.instanceId 显示各处使用相同的连接。
请建议这是否会导致任何问题。
谢谢 阿里夫
关于node.js - 如何在 sails js 应用程序中全局使用 knexjs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23909611/