使用mongoose过程中遇到的疑惑-MongoDB自动改变collections名称


  • 註冊用戶

    在运行node_club项目过程中,一直很好奇新注册的用户是如何插入mongodb数据库中的。查看源码发现原来是通过mongoose与mongodb进行操作的。而mongoose是通过model来创建mongodb中对应的collection的,这样你通过如下的代码:

    mongoose.model('User', UserSchema);
    

    在相应的数据库中创建一个collection时,第一反应肯定会推断在对应的数据库中会建立一个‘User’的collection,但是事实却与推断完全不一样,这也是一直困扰我两的问题,我通过在mongodb的命令行中试图去寻找我刚新建的collection,代码如下:

    use node_club show collections //只能看到有一个名为users的collection,而没有User的collection

  • Lv 1

    @oughl0007

    官方文件有寫. 如果你要明確的 Collection 名稱, 請 加上 collection 設定

    option: collection

    Mongoose by default produces a collection name by passing the model name to the utils.toCollectionName method. This method pluralizes the name. Set this option if you need a different name for your collection.

    var dataSchema = new Schema({..}, { collection: 'data' });

登录后回复
 

与 萌阔论坛 的连接断开,我们正在尝试重连,请耐心等待