首页 > 解决方案 > 我们如何使用 mongodb 在 Express js 中创建自动生成的自定义用户 ID

问题描述

在我的文档中,我在该文档中有 3 个字段,现在我想创建自动生成的顺序用户 ID,就像我们将 join_id 设置为所有用户 ID 前缀的前缀,然后所有用户 ID 都以该前缀开头,如 user 1 id is = joining_id1,user 2 id is = joining_id2等等。 ... 像这样

我的代码是

const tourSchema = new mongoose.Schema({
    name: {
        type: String,
        required: [true, 'A User must have name'],
        unique: true
    },
    joining_id: {
        type: String
    },
    reffral_id: {
        type: Number,
        required: [true, 'A user must have a Reffral Id']
    }
});

标签: javascriptnode.jsmongodbexpress

解决方案


我的意见是在将用户查询存储到您的数据库并获取当前集合的长度然后将该长度加 1 之前。

const addUser = async () => {
   const totalUsers = await db.collection.count();
   
   const newUser = {
      _id: `joining_id${totalUsers + 1}`,
      ...other keys
   }

   const user = await db.collection.insertOne(newUser)

}

可能这会有所帮助。


推荐阅读