2011-08-29 25 views
13

Node.js, Mongoose ve Expressjs için yeni biriyim. Aşağıdaki kod aracılığıyla MongoDB'deki Mongoose'u kullanarak bir "feedbackdata" tablosu oluşturmaya çalıştım. Ancak "feedbackdata * s *" olarak yaratılmıştır. Googling tarafından, Mongoose'un çoğullaşma kurallarını kullandığını buldum. Çoğullaşma kurallarını kaldırmam için bana yardımcı olan var mı? ya da kodum "feedbackdata" tablosu için nasıl olmalı? Aşağıda Mongoose (Nodejs) çoğullaştırma kuralları nedir?

benim kodudur:

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

});

cevap

8

Şema nesnesini oluştururken koleksiyondaki adı belirtin, daha sonra Mongoose şema adınızı çoğaltmayacaktır.

örn. Daha fazla Bilgi için

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

: http://mongoosejs.com/docs/guide.html#collection