user12069108
user12069108

Reputation:

Mongodb Collection name

I've created a database in MongoDB using mongoose. Although everything works fine, but when I check mongodb the name of the collection has extra 's' in its name. The collection name created is employees. What could be wrong, or is it just the naming convention of mongoose?

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;

Upvotes: 2

Views: 2489

Answers (2)

SuleymanSah
SuleymanSah

Reputation: 17858

So you have two options for controlling document names in mongoose.

If you just want to disable pluralization, you can do it with mongoose.pluralize(null) as in Ankit's answer.

And if you want to change your collection name whatever you want, you can do:

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

Upvotes: 3

Ankit Manchanda
Ankit Manchanda

Reputation: 582

It doesn't just add an extra 's' but it makes the correct plural of the name.

For Example : Mouse will be converted to mice

You can disable it by:

mongoose.pluralize(null);

Reference Link: https://github.com/Automattic/mongoose/issues/5947

Upvotes: 5

Related Questions