javascript - 我们如何使用 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']
}
});
解决方案
我的意见是在将用户查询存储到您的数据库并获取当前集合的长度然后将该长度加 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)
}
可能这会有所帮助。
推荐阅读
- android - RecyclerView 卡片项目不居中,当 RecyclerView 父级为 ConstraintLayout 时?
- android - 带有android视图的kotlin调用函数
- datepicker - 日期选择器中的希伯来语问题
- microsoft-graph-api - 如何在自适应卡片中使用图像,而无需图像的直接 URL
- macos - Mac OS:ld:找不到-lglfw的库
- vue.js - Vue.js / 如何访问另一个组件中的函数
- dynamics-crm - 无效的 XML。---> 在包含 FetchXML 的插件上
- java - 如何在使用收集器收集元素时合并列表/集合
- aws-lambda - 是否可以使用新语言扩展 AWS Lambda?
- git - 使用 git reset 时丢失了一些提交