2011-08-29 29 views
13

Tôi là người mới tham gia Node.js, Mongoose và Expressjs. Tôi đã cố gắng tạo một bảng "feedbackdata" bằng cách sử dụng Mongoose trong MongoDB thông qua đoạn mã sau. Nhưng nó được tạo thành "feedbackdata * s *". Bởi Googling, tôi thấy rằng Mongoose sử dụng quy tắc số nhiều. Bất cứ ai xin vui lòng giúp tôi để loại bỏ các quy tắc số nhiều? hoặc làm thế nào mã của tôi nên được cho bảng "feedbackdata"?Quy tắc số nhiều Mongoose (Nodejs) là gì?

Dưới đây là mã của tôi:

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

});

Trả lời

8

Cung cấp tên cho bộ sưu tập trong các tùy chọn trong khi tạo đối tượng giản đồ, sau đó Mongoose sẽ không làm số nhiều tên lược đồ của bạn.

ví dụ:

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

Để biết thêm Thông tin: http://mongoosejs.com/docs/guide.html#collection

Các vấn đề liên quan