public static string Upsert <TEntity>(this MongoCollection <TEntity> collection, Base value) where TEntity : Base
        {
            if (collection == null)
            {
                throw new ArgumentNullException(nameof(collection));
            }
            if (value == null)
            {
                throw new ArgumentNullException(nameof(value));
            }

            var currentData = collection.FindById(value.Id);

            if (currentData == null)
            {
                collection.Add(value);
            }
            else
            {
                collection.UpdateById(value);
            }
            return(value.Id);
        }