2012-11-10 13 views
7

मैं node.js और mongodb के लिए नया हूं ... कृपया मदद करें।node.js से mongolab mongodb डेटाबेस में संग्रह स्कीमा बनाना

मैं नीचे दिए गए कोड के साथ एक node.js ऐप से एक mongolab mongodb डेटाबेस में उपयोगकर्ता संग्रह के लिए एक स्कीमा बनाने की कोशिश कर रहा हूं। कोड असफल प्रतीत नहीं होता है (कम से कम, मुझे कोई त्रुटि संदेश नहीं मिलता है), लेकिन मुझे कोई संकेत नहीं दिख रहा है कि यह भी सफल रहा है। यही है, जब मैं मोंगलोल पर जाता हूं और अपना डेटाबेस देखता हूं, तो मुझे नहीं लगता कि कोई स्कीमा बनाया गया था - http://cl.ly/image/0f1y273m2i0X

क्या कोई यह समझा सकता है कि मैं क्या गलत कर रहा हूं, या मैं कैसे सत्यापित कर सकता हूं कि मेरा कोड सफल हुआ और वास्तव में, मेरे संग्रह के लिए एक स्कीमा बनाया गया था?

---- कोड शुरू ----

// file: app.js 

var express = require('express'), 
    http = require('http'), 
    mongoose = require('mongoose'); 

var app = express(), 
    port = 3000; 

// Connect to database in the cloud (mongolab) 
mongoose.connect('mongodb://username:[email protected]:41344/stockmarket'); 

// Create a schema for User collection 
mongoose.connection.on('open', function() { 
    console.log(">>> Connected!"); 

    var UserSchema = new mongoose.Schema({ 
     username: {type: String, unique: true}, 
     password: String 
    }); 

    var UserModel = mongoose.model('User', UserSchema); 
}); 

app.get('/', function(req, res){ 
    res.writeHead(200, {'Content-Type': 'text/plain'}); 
    res.end('Hello, World!\n'); 
}); 

http.createServer(app).listen(port, function(){ 
    console.log("Express server listening on port " + port + " ..."); 
}); 

---- अंत कोड ----

उत्तर

8

आप किसी दस्तावेज़ पहले से डालें। स्कीमा को मोंगोडब में स्पष्ट रूप से परिभाषित नहीं किया गया है। एक बार दस्तावेज़ डालने के बाद, संग्रह स्वचालित रूप से बनाया जाएगा और आप इसे मोंगलोल कंसोल में देखेंगे।

के बाद से http://mongoosejs.com/

var mongoose = require('mongoose'); 
var db = mongoose.createConnection('localhost', 'test'); 

var schema = mongoose.Schema({ name: 'string' }); 
var Cat = db.model('Cat', schema); 

var kitty = new Cat({ name: 'Zildjian' }); 
kitty.save(function (err) { 
    if (err) // ... 
    console.log('meow'); 
}); 

उदाहरण बचाने फोन ऊपर संग्रह MongoDB में

+0

मैं यह कैसे कर सकता हूं? उपर्युक्त कोड में मुझे क्या जोड़ना/बदलना चाहिए? – RBR

+0

आपको मोंगोस एपीआई दस्तावेज की समीक्षा करनी है। स्टैक ओवरफ़्लो उदाहरण के आसपास भी उदाहरण हैं। http://stackoverflow.com/q/10520501/579461 –

+0

मैंने मोंगोज़ दस्तावेज़ को पढ़ा, और यह कहा: "एक मॉडल एक वर्ग है जिसके साथ हम दस्तावेज़ बनाते हैं।" जिसका मतलब है कि मॉडल दस्तावेज़ से पहले आता है, लेकिन आपको मॉडल बनाने के लिए स्कीमा की आवश्यकता है। तो आदेश लगता है: स्कीमा -> मॉडल -> दस्तावेज़। लगता है जैसे आप कह रहे हैं कि ऑर्डर दस्तावेज़ है -> स्कीमा -> मॉडल। मैं उलझन में हूं। – RBR

0

डाटा बनाया जाएगा एक लचीला स्कीमा है। उसी संग्रह में दस्तावेज़ों को फ़ील्ड या संरचना का एक ही सेट रखने की आवश्यकता नहीं है, और संग्रह के दस्तावेज़ों में सामान्य फ़ील्ड में विभिन्न प्रकार के डेटा हो सकते हैं।

संबंधित मुद्दे