मैं टर्मिनल खोलने पर HTTP पर MongoDB पहुँच सकते हैं और निम्न कमांड दर्ज करने के लिए कोशिश कर रहे हैंब्राउज़र के माध्यम से MongoDB नहीं चला सकता - ऐसा लगता है कि देशी ड्राइवर बंदरगाह
sudo mongod
जो तब आउटपुट
[initandlisten] waiting for connections on port 27017
मैं एक और टर्मिनल खोलता हूं और
sudo mongo
जो मोंगो खोल खोलता है और एफ को संकेत देता है या मोंगो आदेशों, लेकिन जब मैं स्थानीय होस्ट/27017 मैं निम्नलिखित संदेश प्राप्त करने के लिए जाना:
It looks like you are trying to access MongoDB over HTTP on the native driver port.
मैं एक्सप्रेस का उपयोग करते हुए एक सरल NodeJS आवेदन बनाया है और जब मैं POST
डेटा ऐसा लगता है MongoDB लटका दिया जाता है। यह संदेश है जो मैं टर्मिनल, जिसमें मैं अपने एक्सप्रेस आवेदन शुरू करने और पेज डेटा पोस्ट कभी नहीं में प्राप्त करते हैं। तो मुझे विश्वास है कि समस्या मोंगो के भीतर है लेकिन मैं इसे समझ नहीं सकता।
POST /info 200 120002ms
यहाँ मेरी एक्सप्रेस कोड
var Info = require('../models/info');
var path = require('path');
var fs = require('fs');
var join = path.join;
exports.form = function(req,res){
res.render('info', {
myName: 'Michael'
});
};
exports.submit = function(){
console.log('Within exports.submit 1');
return function(req,res,next){
console.log('Within exports.submit 2 ');
var firstName = req.name.first;
var lastName = req.name.last;
Info.create({
firstName: firstName,
lastName: lastName
},function(err){
if(err) return next(err);
res.redirect('/')
});
}
};
मॉडल
var mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/info');
var schema = new mongoose.Schema({
firstName: String,
lastName: String
});
module.exports = mongoose.model('info',schema);
app.js
...
app.get('/info',info.form);
app.post('/info',info.submit);
...
आप जब एक वेब ब्राउज़र के साथ पहुंच का परीक्षण संदेश हो रही है, या जहां आप यह संदेश देख रहे हैं? –
हाँ, मैं एक वेब ब्राउज़र – Michael
@WiredPrairie में संदेश प्राप्त हो रहा वहाँ app.post है() एक्सप्रेस में MongoDB नहीं, जब मैं स्थानीय होस्ट करने के लिए/28017 मैं त्रुटि नहीं मिला एक पेज प्राप्त जाना। – Michael