2013-01-06 24 views
11

लौटने पर मैंने find और findOne का उपयोग करने का प्रयास किया है और दोनों दस्तावेज़ वापस नहीं कर रहे हैं। find एक खाली सरणी लौटा रहा है जबकि findOnenull लौटा रहा है। err दोनों मामलों में null में भी।मोंगोस हमेशा एक खाली सरणी NodeJS

function connectToDB(){ 
    mongoose.connect("mongodb://localhost/test"); //i have also tried 127.0.0.1 
    db = mongoose.connection; 
    db.on("error", console.error.bind(console, "connection error:")); 
    db.once("open", function callback(){ 
     console.log("CONNECTED"); 
    }); 
};

यहाँ मुझे स्कीमा है:

यहाँ मेरी कनेक्शन है

var fileSchema = mongoose.Schema({ 
    hash: String, 
    type: String, 
    extension: String, 
    size: String, 
    uploaded: {type:Date, default:(Date.now)}, 
    expires: {type:Date, default:(Date.now()+oneDay)} 
}); 
var Model = mongoose.model("Model", fileSchema);

और मेरी क्वेरी यहां है:

Model.find({},function(err, file) { 
    console.log(err) 
    console.log(file); 
});

मैं डेटाबेस के लिए चीजों को अपलोड करने और देख सकते हैं उन्हें RockMongo के माध्यम से लेकिन मैं उन्हें बाद में नहीं ला सकता हूं। यह मेरी पहली बार मोंगोडीबी का उपयोग कर रहा है, इसलिए मुझे लगता है कि मैं कुछ बुनियादी सिद्धांतों को याद कर रहा हूं। सही दिशा में कोई धक्का बहुत अच्छा होगा!

+0

क्या संग्रह आप RockMongo के माध्यम से में दस्तावेजों को देख रहे हैं के नाम? – JohnnyHK

+0

सभी जानकारी संग्रह 'फाइल'' संग्रह में है – locrizak

उत्तर

34

mongoose.model पर कॉल को संग्रहित किया गया संग्रह का नाम स्थापित करता है, डिफ़ॉल्ट रूप से pluralized, निचले-आधारित मॉडल नाम के साथ। तो आपके कोड के साथ, यह 'models' होगा। files संग्रह के साथ मॉडल का उपयोग करने के लिए, करने के लिए कि लाइन बदलने के लिए:

var Model = mongoose.model("Model", fileSchema, "files"); 

या

var Model = mongoose.model("file", fileSchema); 
+3

सुंदर, बहुत बहुत धन्यवाद। मुझे आश्चर्य है कि मेरे द्वारा अनुसरण किए गए किसी भी ट्यूटोरियल में उल्लेख नहीं किया गया है। – locrizak

+4

दिन बचाया। आपका बहुत बहुत धन्यवाद! यह एक दयालुता है जिसे आधिकारिक मार्गदर्शिका में हाइलाइट नहीं किया गया है। – thameera

+0

@ थैमेरा यहां वही है। मैं नेट भूमि से अनचाहे पानी में जा रहा हूं और मैंने इस पर इतना समय बर्बाद कर दिया। Lifesaver। हां, कम से कम मेरे खोज प्रयासों में, सम्मेलन का उल्लेख नहीं किया गया है। धन्यवाद!!! – scniro

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