小白提问,,为啥用mongoose存数据,collection的名字写的是person,到数据库中就变成people?
发布于 2 个月前 作者 hxc1995 1023 次浏览 来自 问答

F46887C8-460A-4B5C-BF65-5C84D1CE3F71.pngE16C4614-ADC7-4B0D-B1BE-1BDA839FBE9A.png

19 回复

被这个搞死。。。。是不是默认转的??

这是mongoose的一个默认设定,会把集合名称复数化,你可以使用

var PersonSchema = new Schema({ 
	// 你的Schema定义
}, { collection: 'person' });

来指定collection名称。

mongoDB.model(‘person’, personSchema, ‘person’); 这样就可以了。

person是个体名词,它泛指man,woman或child中的任何一个,其复数形式是persons,但人们习惯用 people代替persons

persons or people

0.0,mongdb居然person和people都区分,真是醉了。之前我遇到的都是后面加s就好了的,居然还有套路。。。难道嵌入了一个牛津字典进去识别名词单复数吗?

不可能的,不要骗我,在test数据库下,你用Person存储,在数据库查询就是 use test db.persons.find() people肯定是你以前存储的数据!

mongodb集合的名字里面都是复数

惊了?!我只知道会填加s,person真的会变people么!?

@wbget 吓出一身冷汗…

@chenyulun 大哥,你可以试试

mongoose 自作聪明

我只知道会变成复数,还真不知道会将person变成people

我早就知道这个坑,无语。 哈哈哈

你们看一下 inflected 模块里把person变复数是不是people嘛,各位英文不过关啊

还真的变成了people,哈哈哈哈哈哈,搞笑

mongoose.model 第三个参数就是指定集合名。

From PWA CNode

回到顶部