|
|
@@ -24,7 +24,9 @@ namespace Business.Core.MongoDBHelper
|
|
|
public class MongoDBTools<T> : IMongoDB<T> where T : Entity<long>
|
|
|
{
|
|
|
public readonly IMongoCollection<T> mongoCollection;
|
|
|
+ public readonly IMongoDatabase dataBase;
|
|
|
public IOptionsSnapshot<Config> _config;
|
|
|
+ public CollectionNameAttribute collectonName;
|
|
|
|
|
|
/// <summary>
|
|
|
/// MongoDB链接
|
|
|
@@ -37,15 +39,15 @@ namespace Business.Core.MongoDBHelper
|
|
|
//数据库链接
|
|
|
MongoClient client = new MongoClient(config.Value.connectstring);
|
|
|
|
|
|
- CollectionNameAttribute collectonName = typeof(T).GetCustomAttributes(typeof(CollectionNameAttribute), true).FirstOrDefault() as CollectionNameAttribute;
|
|
|
+ collectonName = typeof(T).GetCustomAttributes(typeof(CollectionNameAttribute), true).FirstOrDefault() as CollectionNameAttribute;
|
|
|
if (collectonName == null)
|
|
|
{
|
|
|
throw new NotImplementedException("请配置Attribute属性!");
|
|
|
}
|
|
|
//数据库
|
|
|
- var database = client.GetDatabase(collectonName.DatabaseName);
|
|
|
+ dataBase = client.GetDatabase(collectonName.DatabaseName);
|
|
|
//表名
|
|
|
- mongoCollection = database.GetCollection<T>(collectonName.CollectionName);
|
|
|
+ mongoCollection = dataBase.GetCollection<T>(collectonName.CollectionName);
|
|
|
}
|
|
|
|
|
|
/// <summary>
|
|
|
@@ -251,5 +253,14 @@ namespace Business.Core.MongoDBHelper
|
|
|
return builder.Combine(sorts);
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ /// <summary>
|
|
|
+ /// 删除数据-直接删除集合,慎用,慎用,慎用
|
|
|
+ /// </summary>
|
|
|
+ /// <returns></returns>
|
|
|
+ public Task DeleteAll()
|
|
|
+ {
|
|
|
+ return dataBase.DropCollectionAsync(collectonName.CollectionName);
|
|
|
+ }
|
|
|
}
|
|
|
}
|