【发布时间】:2018-05-11 10:59:26
【问题描述】:
我完全是Node.js 的新手。这是我在 node.js 中的第一个项目。由于我在大多数项目中都使用 Laravel,因此我熟悉 MVC(模型视图控制器)。所以我浏览了关于模型的Sequelize ORM 文档。我学会了如何为每个文件导入一个 model 并且它可以工作,但是当我将 自定义函数 添加到 User 模型时,该函数可以正常工作,但不会返回任何内容。
这是我的数据库文件
const fs = require('fs');
var Sequelize = require('sequelize');
var sequelize = new Sequelize('database_name', 'userName', 'password', {
host: 'localhost',
dialect: 'mysql',
operatorsAliases: false,
logging:false,
pool: {
max: 5,
min: 0,
acquire: 30000,
idle: 10000
},
// SQLite only
//storage: 'path/to/database.sqlite'
});
sequelize.import('./../models/User.js');
var db=sequelize.models;
module.exports={db,connectionCheck};
这是用户模型的代码
module.exports = (sequelize, DataTypes) => {
var User = sequelize.define('User', {},{
timestamps: false,
freezeTableName:true,
tableName:'agent_info'
});
/*This is the custom function that I added*/
User.test = function(){
User.findOne().then(data =>{
console.log(data);
return data;
});
};
return User;
};
最后是路由文件的代码
app.get('/',(req,res,next) =>{
var temp=db.User.test();
console.log(temp);
});
我在这里调用user.test() 函数(自定义模型函数)
该函数似乎按预期工作,但没有返回任何内容。那么我做错了什么,还是在 Sequelize 中不可能?
提前致谢
【问题讨论】:
标签: javascript node.js orm sequelize.js