यह मेरी पहली बार नोड/एक्सप्रेस/मोंगोस में एक एमवीसी ऐप लिख रहा है, इसलिए मैं वास्तव में कुछ मदद का उपयोग कर सकता था। मेरा .find() कमांड कुछ भी नहीं मिला! :(Mongoose काम नहीं कर रहा
संरचना यह है कि मेरे पास रूट में एक/एप फ़ोल्डर है।/ऐप फ़ोल्डर में/मॉडल (स्कीमा),/नियंत्रक और/इसमें दृश्य हैं। और मेरे पास रूट में बाहर app.js है।
app.js में कहीं न कहीं:
// all necessary config/setup stuff..
var mongoose = require('mongoose');
mongoose.connect(config.db);
var app = express();
require('./config/routes')(app)
मेरी routes.js में दायर:
var skills = require('../app/controllers/skills');
app.get('/', skills.showall);
मेरे नियंत्रक skills.js शामिल हैं:
var Skill = require('../models/skill');
exports.showall = function(req, res) {
Skill.find({}, function(err, docs){
if (!err) {
res.render('index', {title: 'Skilldom', skills: docs});
}
else {
throw err;
}
});
}
अंत में मेरी मॉडल skill.js शामिल हैं:
var mongoose = require('mongoose');
//Skill schema definition
var skillSchema = new mongoose.Schema({
name: String,
length: String,
});
var Skill = mongoose.model('Skill', skillSchema);
module.exports = Skill;
मेरे सूचकांक दृश्य प्रस्तुत हुई है, इसलिए मैं अपने index.jade टेम्पलेट से सामग्री देखते हैं, लेकिन किसी कारण से मॉडल में खोज आदेश प्राप्त करने में कठिनाई नहीं है कुछ भी। मैं पुष्टि कर सकता हूं कि मेरा डेटाबेस (MongoHQ में) असली डेटा है।
कोई विचार?
क्या आपने अपने डेटाबेस में डेटा डालने के लिए मोंगोस का उपयोग किया था, या क्या यह किसी अन्य माध्यम से वहां पहुंचा? – robertklep
मोंगोएचक्यू यूआई से .. –
उस स्थिति में, आपको यह पता होना चाहिए कि कैसे मोंगोस उन संग्रहों को नामित करता है जो मॉडल संग्रहीत किए जाते हैं (उदाहरण के लिए, 'कौशल' मॉडल शायद 'कौशल' नामक संग्रह में संग्रहीत किया जाएगा)। संग्रह नाम मैन्युअल रूप से सेट करने के तरीके पर [डॉक्स] (http://mongoosejs.com/docs/guide.html#collection) देखें। – robertklep