原理:
设置一个counter集合,每一个文档对应需要自增的集合。每当一个集合添加文档时,获取对应counter的文档,增加值,并将新值设置为新增文档的id
mongoose实现:
Counter.ts
import mongoose from 'mongoose';
/*
以items集合为例:
counters集合里便会有一个文档:
{
_id:"itemId",
seq_val:10
}
_id表示该文档对应items集合。seq_val表示当前索引
*/
type CounterDocument = mongoose.Document & {
_id: string;
seq_val: number;
};
const CounerSchema = new mongoose.Schema({
_id: {
type