猫鼬在数据库中的模型名称后添加一个"s"?

Mongoose add a "s" after the name of the model in the database?

我在猫鼬中创建了一个模式并将其绑定到一个模型并将模型的名称指定为 "user" 。但是,在数据库中它被保存为 "users"。有人可以解释为什么吗?

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

Mongoose 正在尝试变聪明。 它认为集合名称是复数。就像你的情况一样,它正在将 "user" 转换为 "users"

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

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