今天用mongoose建了一个mongodb的collection 名字起得是Vedio var VedioSchema = new Schema({ _id: { type: String, unique: true, ‘default’: shortid.generate }, date: { type: Date, default: Date.now }, name: String, link:String, postDate:Date, image:String }); var Vedio = mongoose.model(“Vedio”,VedioSchema);
但是最终查看mongodb数据库 collection的名字却是vedios 这是为啥啊 向大家讨教了
“Vedio”自动转小写,加s,也就是会创建vedios的collection,记住一句话,mongoose的一切都是基于model,可以参考我的一篇帖子,https://cnodejs.org/topic/569f1ca5729116c06d5c9835
Mongoose在创建Collection的时候会将你的model名字转换成英语复数形式来命名,但并不是末尾加s那么简单,我还真的有一段时间闲得蛋疼去看了看Mongoose的源代码, https://github.com/Automattic/mongoose/blob/master/lib/utils.js 如何将英文单词转换成复数,感觉挺有意思的。 你若想自定义Collection的名字可以看这个 http://mongoosejs.com/docs/guide.html#collection 都是官方文档里的东西,好好看看吧,争取以后能问个官方文档里找不到的问题。