/// <summary> /// 获取自动增加后的编号 /// </summary> /// <param name="idTypes">自动增加编号类型</param> /// <returns>自动增加后的编号</returns> public static long GetIncrementedID(IdTypes idTypes) { long icmetId; try { MongoDatabase mgDb = MongoDBHelper.MongoDB; MongoCollection<IncrementIds> mgColt; MongoCursor<IncrementIds> mgCurs; List<IncrementIds> listIcmetID = new List<IncrementIds>(); IncrementIds icmetIDs = new IncrementIds(); mgColt = mgDb.GetCollection<IncrementIds>(IncrementIds.GetCollectionName()); mgCurs = mgColt.FindAll().SetSortOrder(new SortByDocument("IcmetId", -1)).SetLimit(1); //按字段降序取一条记录 listIcmetID.AddRange(mgCurs); if (listIcmetID.Count == 1) { icmetIDs = listIcmetID[0]; icmetId = icmetIDs.IcmetId; } else icmetId = -1; return icmetId; } catch (System.Exception err) { throw new CBB.ExceptionHelper.OperationException(CBB.ExceptionHelper.ErrType.SystemErr, CBB.ExceptionHelper.ErrNo.DBOperationError, err); } }
/// <summary> /// 初始化自动增加编号的种子初始值 /// </summary> /// <param name="idTypes">自动增加编号类型</param> /// <param name="incrementIdValue">递增种子值</param> /// <returns>操作状态</returns> public static CBB.ExceptionHelper.OperationResult initialIncrementIdValue(IdTypes idTypes, long incrementIdValue) { MongoDatabase mgDb = MongoDBHelper.MongoDB; MongoCollection<IncrementIds> mgColt = mgDb.GetCollection<IncrementIds>(IncrementIds.GetCollectionName()); IncrementIds icmetIds = new IncrementIds(); icmetIds.IdTypes = idTypes; icmetIds.IcmetId = incrementIdValue; mgColt.Insert(icmetIds); return new CBB.ExceptionHelper.OperationResult(true); }