【发布时间】:2021-07-14 13:59:00
【问题描述】:
如何创建带前缀的自增序列,例如:USR00001 等……
小细节:语言 Nodejs 和库 mongoose。
谢谢。
问候, 米歇尔
【问题讨论】:
标签: javascript node.js mongodb
如何创建带前缀的自增序列,例如:USR00001 等……
小细节:语言 Nodejs 和库 mongoose。
谢谢。
问候, 米歇尔
【问题讨论】:
标签: javascript node.js mongodb
您可以在集合中创建可以保留所有序列的位置,然后可以使用findAndUpdate 让它们自动递增
集合 - 序列
[
{
_id: "sequence",
"value": 100000
}
]
然后您可以使用此查询以您的格式获取最新的数字
db.sample.findAndModify({
query:{
_id: "sequence"
},
update: {
$inc:{
value:1
}
},
fields:{
count: {$concat: [ "USR", { $toString: "$value" } ] },
_id: 0
}
})
输出:
{ "value" : "USR100000" }
更多详情可以查看findAndUpdate的官方文档
【讨论】:
你可以阅读这个链接,这已经解释了这样做的方式。不确定如何将它与 Mongoose 一起使用。
https://www.tutorialspoint.com/mongodb/mongodb_autoincrement_sequence.htm
【讨论】: