下面是我的代码:
const mongoose = require("mongoose");
mongoose.connect("mongodb://localhost:27017/miniRDS", {
useNewUrlParser: true,
useCreateIndex: true,
useUnifiedTopology: true
}, (err) => {
if(!err){
console.log("Connected")
}else{
console.log("Couldn't connect!");
}
});
const tests = new mongoose.Schema({
subject: {
type: String,
required: true,
default: "ict"
},
date: {
type: String,
required: true,
default: "01-01-2021"
}
});
const testsModel = mongoose.model("classTests", tests);
const s = new testsModel({
subject: "english",
date: "12-01-2021"
});
s.save();
我使用的是Mongoose版本5.11.11。当我尝试使用mongoose模型创建一个以camelCase命名的集合时,我遇到了困难。
在上面的代码中,它应该创建一个名为“classTests”的集合,而不是创建“classtests”。我怎样才能实现“classTests”?谢谢
3条答案
按热度按时间1u4esq0p1#
您可以将其用作:
三个参数:(要用作camel的名称,schema,实际名称)
dojqjjoe2#
Mongoose会自动查找模型名称的复数小写版本,请检查此documentation,因此您无法在mongoose中使用camelCase创建集合
js4nwp543#
解决方案:
为了解决这个问题,我们可以在
collection
字段中使用复数名称因此,在本例中,我们使用
assessmentAttempts
将集合名称保存为CamelCase。最终结果:Mongo DB : Sample Collection
MongoDB集合名称限制文档:参考链接