2011-08-29 6 views
13

Je suis un débutant aux Node.js, Mongoose et Expressjs. J'ai essayé de créer une table "feedbackdata" en utilisant le Mongoose dans MongoDB via le code suivant. Mais il est créé comme "feedbackdata * s *". En googlant, j'ai trouvé que le Mongoose utilise des règles de pluralisation. Quelqu'un s'il vous plaît aidez-moi à supprimer les règles de pluralisation? ou comment mon code devrait être pour la table "feedbackdata"?Quelles sont les règles de pluralisation de Mongoose (Nodejs)?

Ci-dessous mon code:

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(); 

});

Répondre

8

Indiquez le nom de la collection dans les options lors de la création de l'objet de schéma, puis Mongoose ne pluralisera pas le nom de votre schéma.

par exemple.

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

Pour plus d'informations: http://mongoosejs.com/docs/guide.html#collection

Questions connexes