Home > Net >  Auto-generate employee ID using mongoose and nodejs
Auto-generate employee ID using mongoose and nodejs

Time:03-14

I'm working on a web app project using MEAN stack technology. I want to generate 'empId' (employee ID) automatically when a request to add a new employee is received. How can I do the same and store the generated 'empId' in the same document where I keep employee details?

Thanks in advance!

CodePudding user response:

Unless there are other requirements that haven't been stated, you can simply generate empId when handling the request to add a new employee, and include it with other properties that may be supplied by the caller:

const schema = new Schema({ name: String, empId: String });
const Employee = model('Employee', schema);

// then when handling an "add employee" request:

const { name } = req.body; // properties from request
const empId = generateEmployeeId(); // e.g., "uuid()"
const employee = new Model({name, empId})

You can also automatically include an empId with each new Document by supplying it as a default in the mongoose Schema. Combine that with a library like nanoid (that gives you a bit more control over the ids generated) and you would have something like:

const schema = new Schema({
  name: String,
  empId: {
    type: String,
    default: () => nanoid()
  }
})

Also keep in mind that mongodb will always create a unique identifier for each document in the _id property.

  • Related