什么是Mongoose(Nodejs)复数规则?

我是Node.js,Mongoose和Expressjs的新手。 我试图通过下面的代码使用MongoDB在MongoDB中创build一个表“feedbackdata”。 但它被创build为“feedbackdata * s *”。 通过谷歌search,我发现mongoose使用复数规则。 任何人请帮我删除复数规则? 或者我的代码应该如何用于“feedbackdata”表?

以下是我的代码:

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

});

复数规则在这个文件中: https : //github.com/LearnBoost/mongoose/blob/master/lib/utils.js

您可以将模式名称添加到'uncountables'列表中,然后mongoose不会将您的模式名称复数化。

在创build模式对象时在选项中提供集合的名称,那么Mongoose不会复制模式名称。

例如

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

欲了解更多信息: http : //mongoosejs.com/docs/guide.html#collection