के साथ पुनर्प्राप्त करें मैं नोडजेस और सीक्वेलिज़ ओआरएम फ्रेमवर्क के लिए नया हूं। मैं इसे mysql के साथ काम करने की कोशिश कर रहा हूं। मैंने कुछ बड़ी प्रगति की है लेकिन फिलहाल मैं उस हिस्से में फंस गया हूं जहां मॉडल में लोड करने की आवश्यकता है। लेकिन मुझे एक त्रुटि मिल रही है जहां फ़ाइल से नाम पुनर्प्राप्त किया गया है।सीईक्विलाइज़ के लिए मॉडल नाम को mysql
www
var debug = require('debug')('sampleapp')
var app = require('../server');
var models = require('../model');
app.set('port', process.env.PORT || 3000);
//server running
models.sequelize.sync().then(function() {
var server = app.listen(app.get('port'), function(){
debug('The magic is happening on port '+server.address().port);
});
});
index.js
"use strict"
var fs = require('fs');
var path = require('path');
var Sequelize = require('sequelize');
var debug = require('debug');
var env = process.env.NODE_ENV || "development";
var config = require(path.join(__dirname, '..', 'config', 'config.json'))[env];
var sequelize = new Sequelize(config.database, config.username, config.password, config);
var db = {};
fs.readdirSync(__dirname)
.filter(function(file) {
return (file.indexOf(".") !== 0) && (file !== 'index.js')
})
.forEach(function(file) {
var model = sequelize['import'](path.join(__dirname, file))
db[model.name] = model
});
db.sequelize = sequelize;
db.Sequelize = Sequelize;
module.exports = db;
user.js
module.exports = function(sequelize, DataType){
var User = sequelize.define('user', {
name: DataType.STRING,
password: DataType.STRING,
lastName: DataType.STRING,
email: DataType.STRING,
gender: DataType.CHAR,
cellNumber: DataType.INTEGER
}, {
instanceMethods : {
create : function(onSuccess, onError){
var name = this.name;
var lastName = this.lastName;
var email = this.email;
var gender = this.gender;
var cellNumber = this.cellNumber;
var password = this.password;
var shasum = crypto.createHash('sha1');
shasum.update(password);
password = shasum.digest('hex');
User.build({name: name, lastName: lastName, email: email, gender: gender, cellNumber: cellNumber, password: password})
.save().success(onSuccess).error(onError);
}
}
});
};
मैं db [model.name] = मॉडल पर इस त्रुटि प्राप्त हो रही:
TypeError: Cannot read property 'name' of undefined
थोड़ी देर के लिए इस त्रुटि पर रहा है। किसी भी मदद की सराहना की जाएगी
आपके वर्णनात्मक उत्तर के लिए धन्यवाद। इससे बहुत मदद मिली। आप डीबी चेक डालने की सिफारिश करेंगे? app.js में? –
बेशक! मैं खुश हूं कि मैं मदद कर सका! ईमानदारी से कि डीबी चेक फ़ंक्शन कहीं भी चलाया जा सकता है, इसका एकमात्र उद्देश्य यह सत्यापित करना है कि आपके पास डेटाबेस से कनेक्टिविटी है। यह मूल रूप से केवल यह सत्यापित करने के लिए एक सरल क्वेरी 'चयन 1 + 1' चलाता है और यह सुनिश्चित करने के लिए करता है कि यह क्या कर सकता है। मैं इसे कहीं भी मौजूदा अनुशंसा नहीं करता लेकिन जहां आप अपने आवेदन को बूटस्ट्रैप करते हैं। – Pierce