MongoDB学习笔记~大叔分享批量添加—批量更新—批量删除
时间:2021-07-01 10:21:17
帮助过:18人阅读
void Insert(IEnumerable<TEntity>
item)
{
var list =
new List<WriteModel<TEntity>>
();
foreach (
var iitem
in item)
{
list.Add(new InsertOneModel<TEntity>
(iitem));
}
_table.BulkWriteAsync(list).Wait();
}
public void Update(IEnumerable<TEntity>
item)
{
var list =
new List<WriteModel<TEntity>>
();
foreach (
var iitem
in item)
{
QueryDocument queryDocument =
new QueryDocument(
"_id",
new ObjectId(
typeof(TEntity).GetProperty(EntityKey).GetValue(iitem).ToString()));
list.Add(new UpdateOneModel<TEntity>(queryDocument, Builders<TEntity>
.Update.Combine(GeneratorMongoUpdate(iitem))));
}
_table.BulkWriteAsync(list).Wait();
}
public void Delete(IEnumerable<TEntity>
item)
{
var list =
new List<WriteModel<TEntity>>
();
foreach (
var iitem
in item)
{
QueryDocument queryDocument =
new QueryDocument(
"_id",
new ObjectId(
typeof(TEntity).GetProperty(EntityKey).GetValue(iitem).ToString()));
list.Add(new DeleteOneModel<TEntity>
(queryDocument));
}
_table.BulkWriteAsync(list).Wait();
}
在程序实现之中,我们使用了WriteModel泛型对象,这将存储要插入,更新和删除的对象,对于插入来说,只有一个参数就是它的实体集合,而对象更新来说,它不仅有实体集合而且还有对应的条件QueryDocument,而对于删除操作来说,只提供QueryDocument即可!
回到目录
MongoDB学习笔记~大叔分享批量添加—批量更新—批量删除
标签: