当前位置: 首页 > 面试题库 >

什么是猫鼬(Nodejs)复数规则?

蒋曾笑
2023-03-14
问题内容

我是Node.js,Mongoose和Expressjs的新手。我试图通过以下代码在MongoDB中使用Mongoose创建一个表“
feedbackdata”。但是它被创建为“ feedbackdata * s
*”。通过谷歌搜索,我发现猫鼬使用了复数规则。任何人都可以帮助我删除复数规则吗?或“ 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

您可以将架构名称添加到“不可数”列表中,然后猫鼬不会使您的架构名称复数。



 类似资料:
  • 问题内容: 我有和该文件使用Mongoose与我的数据库交互,并且我习惯于从中调用函数: 我的server.js从中调用了三个函数: 我不明白为什么会收到此错误: 我究竟做错了什么?我找到了一篇文章,但什么也做不了。 问题答案: 什么是TransientTransactionError A 是归类为暂时性的事务性错误,如果重试,它 可能 会成功。此外,如果未采取任何写锁定且事务(新数据)未反映在事

  • 问题内容: 我正在使用版本3和2.2。我注意到一个字段已经开始出现在我的文档中。与版本控制有关吗?如何使用? 问题答案: 从这里: 该是对每个文档设置时,首先由猫鼬创建一个属性。此键值包含文档的内部修订版。此文档属性的名称是可配置的。默认值为。 如果这与您的应用程序冲突,则可以这样配置:

  • 我正在使用MongoDB版本2.2的版本3。我注意到一个字段开始出现在我的文档中。它与版本控制有关吗?它是如何使用的?

  • 问题内容: 我想浏览Mongoose存储在Mongodb中的原始数据。去哪儿了?我有一个名为Profile的模式,其中存储了多个配置文件,但是使用Mongodb shell ,并且不返回任何内容。 架构 问题答案: 使用Mongoose时的默认集合名称是小写的复数模型名称。 因此,如果要为as 创建模型: 集合名称是; 因此您将在shell中找到其内容。 请注意,如果您不喜欢默认行为,则可以提供自

  • 问题内容: 我想在MongoDB中做一个批量插入工作,并且在mongoose中找到了两种方法: 一种方法是使用: 另一种方法是: 两者都可以完成批量插入作业,但是它们之间有什么区别? 哪个效率更高? 问题答案: 在Mongoose中,有and (后者严格不是Mongoose的一部分,而是底层MongoDB驱动程序的一部分)。 根据Mongoose开发人员的说法,当用一系列文档调用它们时,它们基本上

  • 问题内容: 和猫鼬有什么区别?参考哪个更好? 问题答案: 从文档中: Mongoose默认情况下为您的每个模式分配一个id虚拟获取器,该获取器将文档_id字段强制转换为字符串,对于ObjectIds,则返回其hexString。 因此,基本上,getter返回文档的字符串表示形式(默认情况下将其添加到所有MongoDB文档中,并且默认类型为)。 关于什么是更好的引用,这完全取决于上下文(即,您想要