2011-08-29 48 views
13

Sono un novizio di Node.js, Mongoose e Expressjs. Ho provato a creare una tabella "feedbackdata" usando Mongoose in MongoDB tramite il seguente codice. Ma è creato come "feedbackdata * s *". Con Google ho scoperto che la Mongoose utilizza le regole di pluralizzazione. Qualcuno per favore aiutami a rimuovere le regole di pluralizzazione? o come dovrebbe essere il mio codice per la tabella "feedbackdata"?Quali sono le regole di pluralizzazione Mongoose (Nodejs)?

Qui di seguito è il mio codice:

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

});

risposta

8

Fornire il nome per la raccolta nelle opzioni durante la creazione dell'oggetto schema, quindi Mongoose non eseguirà la pluralizzazione del nome dello schema.

ad es.

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

Per ulteriori informazioni: http://mongoosejs.com/docs/guide.html#collection

Problemi correlati