2011-08-29 16 views
13

मैं नोड.जेएस, मोंगोस और एक्सप्रेसज के लिए नौसिखिया हूं। मैंने निम्नलिखित कोड के माध्यम से MongoDB में Mongoose का उपयोग करके "फीडबैकडेटा" तालिका बनाने का प्रयास किया है। लेकिन इसे "फीडबैकडाटा * एस *" के रूप में बनाया गया है। गुगलिंग द्वारा, मैंने पाया कि मोंगोस बहुवचन नियमों का उपयोग करता है। कोई भी कृपया बहुवचन नियमों को हटाने में मेरी मदद करें? या "फीडबैकडेटा" तालिका के लिए मेरा कोड कैसे होना चाहिए?मोंगोस (नोडेज) बहुवचन नियम क्या हैं?

नीचे मेरी कोड है:

app.post("/save",function(req,res){ 

mongoose.connect('mongodb://localhost/profiledb'); 

mongoose.connection.on("open", function(){ 
    console.log("mongo connected \n"); 
}); 

// defining schemar variables 
Schema = mongoose.Schema, 
ObjectId = Schema.ObjectId; 

// define schema for the feedbackdata table 
var feedback_schema = new Schema({ 
    _id: String, 
    url:String, 
    username:String, 
    email:String, 
    subscribe:String, 
    types:String, 
    created_date: { type: Date, default: Date.now }, 
    comments: String 
}); 

// accessing feeback model object 
var feedback_table = mongoose.model('feedbackdata', feedback_schema); 
var tableObj = new feedback_table(); 

var URL = req.param('url'); 
var name = req.param('name'); 
var email = req.param('email'); 
var subscribe = req.param('subscribe'); 
var choices = req.param('choices'); 
var html = req.param('html'); 
var receipt = req.param('receipt');  
var feedbackcontent = req.param('feedbackcontent'); 

tableObj._id = 3; 
tableObj.url = URL; 
tableObj.username = name; 
tableObj.email = email; 
tableObj.subscribe = subscribe; 
tableObj.types = choices; 
tableObj.comments = feedbackcontent; 

tableObj.save(function (err){ 
    if(err) { throw err; }else{ 
     console.log("Saved!");    
    } 
    mongoose.disconnect(); 
}) 

res.write("<div style='text-align:center;color:green;font-weight:bold;'>The above values saved successfully! <br><a href='/start'>Go back to feedback form</a></div>");  

res.end(); 

});

उत्तर

17

pluralization नियम इस फ़ाइल में हैं: https://github.com/LearnBoost/mongoose/blob/master/lib/utils.js

आप, 'uncountables' सूची में अपना स्कीमा नाम जोड़ सकते हैं तो नेवला अपने स्कीमा नाम pluralize नहीं होंगे।

+1

वाह! धन्यवाद दोस्त! – Raja

8

स्कीमा ऑब्जेक्ट बनाते समय विकल्पों में संग्रह के लिए नाम प्रदान करें, तो मोंगोस आपके स्कीमा नाम को बहुवचन नहीं करेगा।

उदा।

var schemaObj = new mongoose.Schema(
{ 
fields:Schema.Type 
}, { collection: 'collection_name'}); 

अधिक जानकारी के लिए: http://mongoosejs.com/docs/guide.html#collection

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