【问题标题】:Mongodb Collection nameMongodb 集合名称
【发布时间】:2021-09-02 04:58:08
【问题描述】:

我使用 mongoose 在 MongoDB 中创建了一个数据库。虽然一切正常,但是当我检查 mongodb 时,集合的名称中包含额外的 's'。创建的集合名称是员工。有什么问题,或者只是猫鼬的命名约定?

const mongoose = require('mongoose');

let employeeSchema = mongoose.Schema({
  name: String,
  email: String,
  department: String,
  doj: Date,
  address: String
});

const Employee = mongoose.model("employee", employeeSchema);

module.exports = Employee;

【问题讨论】:

  • 它的猫鼬命名约定
  • 您可以通过提供如下 3 个第三个参数来控制您的集合名称:mongoose.model("employee", employeeSchema, { collection: 'employee' })

标签: node.js mongodb mongoose


【解决方案1】:

它不只是添加一个额外的“s”,而是使名称的复数形式正确。

例如:鼠标会变成老鼠

您可以通过以下方式禁用它:

mongoose.pluralize(null);

参考链接:https://github.com/Automattic/mongoose/issues/5947

【讨论】:

    【解决方案2】:

    所以你有两个选项来控制 mongoose 中的文档名称。

    如果您只想禁用复数,可以使用 mongoose.pluralize(null) 来完成,如 Ankit 的回答。

    如果您想随意更改收藏名称,您可以这样做:

    mongoose.model("employee", employeeSchema, { collection: 'myEmployee' } ) 
    

    【讨论】:

      猜你喜欢
      • 2014-09-02
      • 2013-08-29
      • 2014-09-22
      • 1970-01-01
      • 2015-06-19
      • 2020-10-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多