使用 mongoose 和 nodejs 自动生成员工 ID

Auto-generate employee ID using mongoose and nodejs

我正在使用 MEAN 堆栈技术开发 Web 应用程序项目。我想在收到添加新员工的请求时自动生成 'empId'(员工 ID)。我怎样才能做同样的事情并将生成的 'empId' 存储在 保存员工详细信息的同一文档中 ?

提前致谢!

除非有其他未说明的要求,您可以在处理添加新员工的请求时简单地生成 empId,并将其包含在调用者可能提供的其他属性中:

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})

您还可以在每个新的 Document by supplying it as a default in the mongoose Schema. Combine that with a library like nanoid 中自动包含一个 empId(这使您可以更好地控制生成的 ID),并且您会得到如下内容:

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

另请记住,mongodb 将始终为每个文档创建一个唯一标识符 in the _id property