using MongoDB.Driver; using MongoDB.Driver.Linq; using System; using System.Collections.Generic; using System.Linq; using System.Linq.Expressions; using System.Reflection.Metadata; using System.Text; using System.Threading.Tasks; using Volo.Abp.Domain.Entities; namespace Business.Core.MongoDBHelper { /// /// MongoDB接口 /// /// public interface IMongoDB where T : Entity { /// /// 插入一条数据 /// /// /// Task InsertOne(T document); /// /// 插入多条数据 /// /// /// Task InsertMany(List documents); /// /// 更新一条数据 /// /// /// /// Task UpdateOne(T documents,long id); /// /// 获取所有数据 /// /// Task> GetAll(); /// /// 根据ID获取数据 /// /// /// Task GetOneByID(long id); /// /// 根据条件获取数据 /// /// Task> GetManyByCondition(Expression> filter); /// /// 根据条件获取数据 /// /// Task> GetManyByIds(FilterDefinition filter); /// /// 根据id删除对象 /// /// Task DeleteById(long id); /// /// 根据id列表批量删除对象 /// /// id列表 Task DeleteByIds(IEnumerable ids); /// /// 删除数据 /// /// /// /// Task Delete(Expression> expression, bool isOne = false); /// /// 删除数据 /// /// /// /// Task Delete(FilterDefinition filter, bool isOne = false); /// /// 删除数据-直接删除集合,慎用,慎用,慎用 /// /// Task DeleteAll(); /// /// 根据条件获取结果列表 /// /// 条件Expression /// 结果列表 Task> Find(Expression> expression, ProjectionDefinition projecter = null, SortDefinition sorter = null); /// /// 批量更新 /// /// /// /// Task> BulkWrite(List> updates, BulkWriteOptions options = null); } }