加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

azure – 如安在文档数据库中上载多个文档(批量)

发布时间:2021-01-21 17:07:27 所属栏目:编程 来源:网络整理
导读:我有文件列表(工具),该工具有多个文件,即Json记录存在,可是当我实行上传文件串(记录)时,它不会上传到文档数据库,可是当我上传单个文档记录时,它会乐成上传. ListMyModelClass listObj = new ListMyModelClass(); Document doc = await DocumentClient.CreateD

我有文件列表(工具),该工具有多个文件,即Json记录存在,可是当我实行上传文件串(记录)时,它不会上传到文档数据库,可是当我上传单个文档记录时,它会乐成上传.

List<MyModelClass> listObj = new List<MyModelClass>();
  Document doc = await DocumentClient.CreateDocumentAsync("dbs/" + DocumentDatabase.Id + "/colls/" + DocumentCollection.Id,listObj);

上面的代码不事变…..

foreach (var item in listObj )
    {
      Document doc = await Client.CreateDocumentAsync("dbs/" + DocumentDatabase.Id + "/colls/" + DocumentCollection.Id,item);
    }

这段代码对我有效…..

Syntax : CreateDocumentAsync(String,?Object,?RequestOptions,?Boolean)
 Object :- Document object // I Know it as per syntax it need to be "Document Type".

我想要任何其他方法一次上传全部文档….

办理要领

您不能一次插入多个文档.对CreateDocumentAsync()的挪用仅合用于单个文档.

要实现这一点,您必要计划某种范例的处事器端存储进程来完成此操纵,然后在一次挪用中将文档数组转达给该函数.您也许但愿查察this answer以查察其他人怎样行使处事器端函数办理此题目,实质上是在当地建设文档数组,然后在其存储进程中遍历数组.以是,建设这样的对象(摘自该谜底):

docObject = {
  "items": [{doc},{doc},{doc}]
}

并将docObject转达给您的存储进程.

最终,您的存储进程如故会举办单独的插入挪用,每个文档一个.可是……你不会有多次收集来回.而且插入将是事宜性的(假如个中一个插入失败,可能您抛出非常,则其他插入将被回滚).

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读