public static async ETTask <bool> DeleteById <T>(this CacheProxyComponent self, long id) where T : ComponentWithId
        {
            Session             session = Game.Scene.GetComponent <NetInnerComponent>().Get(self.dbAddress);
            CacheDeleteResponse cacheDeleteByIdResponse = (CacheDeleteResponse)await session.Call(new CacheDeleteByIdRequest
                                                                                                  { CollectionName = typeof(T).Name.ToLower(), Id = id });

            return(cacheDeleteByIdResponse.IsSuccessful);
        }
        public static async ETTask <bool> DeleteByUnique <T>(this CacheProxyComponent self, string uniqueName, BsonDocument condition)
            where T : ComponentWithId
        {
            Session             session             = Game.Scene.GetComponent <NetInnerComponent>().Get(self.dbAddress);
            CacheDeleteResponse cacheDeleteResponse = (CacheDeleteResponse)await session.Call(new CacheDeleteByUniqueRequest
                                                                                              { CollectionName = typeof(T).Name.ToLower(), UniqueName = uniqueName, Json = condition.ToJson() });

            return(cacheDeleteResponse.IsSuccessful);
        }