Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 带有orm2的node express和分离的模型文件_Javascript_Node.js_Orm_Express_Node Orm2 - Fatal编程技术网

Javascript 带有orm2的node express和分离的模型文件

Javascript 带有orm2的node express和分离的模型文件,javascript,node.js,orm,express,node-orm2,Javascript,Node.js,Orm,Express,Node Orm2,我正在为node使用node&express框架。 我不想使用node-orm2框架与我的MySQL数据库进行通信。为了保持一个好的结构,我想把我的模型分割成不同的文件。我一直在使用github上的文档,但不知怎么的,我无法让它工作 app.js: app.use(orm.express("mysql://********:********@localhost/*********", { define: function(db, models){ db.load('./m

我正在为node使用node&express框架。 我不想使用node-orm2框架与我的MySQL数据库进行通信。为了保持一个好的结构,我想把我的模型分割成不同的文件。我一直在使用github上的文档,但不知怎么的,我无法让它工作

app.js:

app.use(orm.express("mysql://********:********@localhost/*********",
{
    define: function(db, models){
        db.load('./models', function(err){
            models.movie = db.models.Movie;
        });
    }
}));
models.js:

module.exports = function (db, fn) {
    db.load("movie", function (err) {
        if (err) {
            return fn(err);
        }
    });
//etc
return fn();
};
movie.js:

module.exports = function (db, fn) {
    db.define('movie', {
        id          : { type: "number" },
        title       : { type: "text" },
        year        : { type: "number" },
        rating      : { type: "number" },
        description : { type: "text" }
    }, {
        methods : {

        }
    });

    return fn();
};
已从以下位置复制问题跟踪程序中的帮助:

我正在使用内置的express中间件。 这对我来说很好。 我有一个文件夹模型。 用一个文件PAR模型。 用户模型示例: user.js

在Models文件夹中,我有一个index.js 在这个文件中,我定义了模型之间的关系,并加载了模型

文件: models/index.js

checkError = function(cb, err)
{
    if (err)
        return cb(err);
    return cb();
}

module.exports = function(db, cb)
{
    db.load("./user.js", function (err) {checkError(cb, err)});
    db.load("./alert.js", function (err) {checkError(cb, err)});
    db.load("./comment.js", function (err) {checkError(cb, err)});
    db.load("./metropole.js", function (err) {checkError(cb, err)});
    db.load("./period.js", function (err) {checkError(cb, err)});
    db.load("./stop.js", function (err) {checkError(cb, err)});
    db.load("./line.js", function (err) {checkError(cb, err)});
    db.load("./types.js", function (err) {checkError(cb, err)});
    db.load("./historique.js", function(err) {checkError(cb, err)});

    var User = db.models.user;
    var Alert = db.models.alert;
    var Comment = db.models.comment;
    var Metropole = db.models.metropole;
    var Stop = db.models.stop;
    var Line = db.models.line;
    var Period = db.models.period;
    var Types = db.models.types;
    var Hist = db.models.historique;

    Alert.hasOne("stop", Stop, {reverse : "alerts"});
    Alert.hasOne("line", Line, {reverse : "alerts"});
在Express初始化过程中,我添加了以下内容:

app.use(orm.express(opts, {
    define: function (db, models, next) {
            db.load("./models/models", function (err2)
        {
            if (err2)   
                throw err2;
            db.sync();
        })
        next();
    }

你解决问题了吗?我已经在node-orm2中工作了三个月了,如果这仍然是开放的,它可能会有所帮助
app.use(orm.express(opts, {
    define: function (db, models, next) {
            db.load("./models/models", function (err2)
        {
            if (err2)   
                throw err2;
            db.sync();
        })
        next();
    }