Как использовать объект модели в другом файле, созданном в узле orm
Модель, созданная для пользователя в user.js
var orm = require("orm");
orm.connect("mysql://root:@localhost/axi_timescape", function (err, db) {
if (err) throw err;
var user = db.define("axi_users", {
name : String,
id : Number,
enterprise_id : Number,
location_id : Number,
email : String,
pin : Number,
job_description: String,
password :String,
role :Number,
designation :String,
department_id :Number,
created :String,
updated :String,
});
module.exports.user=user;
});
Теперь я хочу использовать этот объект пользовательской модели в patu.js, но он не позволяет использовать методы для объекта пользователя. так как использовать объект модели в другом файле, созданном в узле orm. следующий файл это patu.js.
var orm = require('orm');
var user= require('./user.js');
exports.list = function(req, res){
res.send('respond with a resource');
};
user.find({ id: 2 }, function (err, people) { //VIEW BY ID
if(err)
{
console.log(err);
return;
}
console.log("asad");
console.log(JSON.stringify(people));
});
1 ответ
Решение
Следуя документации, вы хотите что-то вроде этого.
user.js
module.exports = function(db, callback) {
db.define("axi_users", {
name: String,
id: Number,
enterprise_id: Number,
location_id: Number,
email: String,
pin: Number,
job_description: String,
password: String,
role: Number,
designation: String,
department_id: Number,
created: String,
updated: String,
});
return callback();
}
patu.js
var orm = require("orm");
orm.connect("mysql://root:@localhost/axi_timescape", function(err, db) {
if (err) throw err;
db.load('./user.js', function(err) {
if (err) throw err;
var user = db.models.axi_users;
user.find({
id: 2
}, function(err, people) { //VIEW BY ID
if (err) {
console.log(err);
return;
}
console.log("asad");
console.log(JSON.stringify(people));
});
});
});
Или если вы используете экспресс.
var express = require('express');
var orm = require('orm');
var app = express();
app.use(orm.express("mysql://root:@localhost/axi_timescape", {
define: function(db, models) {
models.user = db.define("axi_users", {
name: String,
id: Number,
enterprise_id: Number,
location_id: Number,
email: String,
pin: Number,
job_description: String,
password: String,
role: Number,
designation: String,
department_id: Number,
created: String,
updated: String,
});
}
}));
app.listen(80);
app.get("/", function(req, res) {
req.models.user.find({
id: 2
}, function(err, people) { //VIEW BY ID
if (err) {
console.log(err);
return;
}
res.send(people);
});
});