Selaa lähdekoodia

添加删除mongodb集合方法

heteng 3 vuotta sitten
vanhempi
commit
eaffff1dd8

+ 1 - 1
MicroServices/Business/Business.Application/ResourceExamineManagement/ResourceExamineAppService.cs

@@ -250,7 +250,7 @@ namespace Business.ResourceExamineManagement
             //await _ic_item_stock.Delete(p=>p.icitem_name == "test");
 
             //await _ic_item_stock.DeleteByIds(aa);
-
+            //await _ic_item_stock.DeleteAll();
         }
 
         /// <summary>

+ 5 - 0
MicroServices/Business/Business.Core/MongoDBHelper/IMongoDB.cs

@@ -92,5 +92,10 @@ namespace Business.Core.MongoDBHelper
         /// <returns></returns>
         Task<DeleteResult> Delete(FilterDefinition<T> filter, bool isOne = false);
 
+        /// <summary>
+        /// 删除数据-直接删除集合,慎用,慎用,慎用
+        /// </summary>
+        /// <returns></returns>
+        Task DeleteAll();
     }
 }

+ 14 - 3
MicroServices/Business/Business.Core/MongoDBHelper/MongoDBTools.cs

@@ -19,7 +19,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链接
@@ -32,15 +34,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>
@@ -159,5 +161,14 @@ namespace Business.Core.MongoDBHelper
             else
                 return mongoCollection.DeleteManyAsync(filter);
         }
+
+        /// <summary>
+        /// 删除数据-直接删除集合,慎用,慎用,慎用
+        /// </summary>
+        /// <returns></returns>
+        public Task DeleteAll()
+        {
+            return dataBase.DropCollectionAsync(collectonName.CollectionName);
+        }
     }
 }