Mongoose在数据库中的模型名称后添加“s”? [复制]

Posted

技术标签:

【中文标题】Mongoose在数据库中的模型名称后添加“s”? [复制]【英文标题】:Mongoose add a "s" after the name of the model in the database? [duplicate] 【发布时间】:2015-06-14 09:42:41 【问题描述】:

我在 mongoose 中创建了一个模式并将其绑定到一个模型,并将模型的名称指定为 "user" 。但是,在数据库中它被保存为“用户”。谁能解释一下为什么?

//Schema for adding ne user
var newUser = new mongoose.Schema(
    "_id" : Number,
    "firstname":String,
    "lastname":String,
    "username":String,
    "password" : String
);
var user = mongoose.model("user" , newUser);

【问题讨论】:

【参考方案1】:

Mongoose 在这里尝试变得聪明。 它认为集合名称是复数。就像您的情况一样,它将“用户”转换为“用户”

但是你可以强制它成为你想要的任何东西:

var newUser = new mongoose.Schema(
    "_id" : Number,
    "firstname":String,
    "lastname":String,
    "username":String,
    "password" : String
,  collection: 'user );

【讨论】:

以上是关于Mongoose在数据库中的模型名称后添加“s”? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

Mongoose Schema中Array内的重复值

使用 graphql-compose-mongoose 将对象添加到 mongodb 模型中的对象数组

Typescript 中的 Mongoose 静态模型定义

为啥要删除集合名称时要在集合名称后添加“ s”? [复制]

如何在 Mongoose 中设置数据库名称和集合名称?

如何在 mongoose 和 mongodb 中更新嵌套模型