Pra*_*rma 10 azure azure-cosmosdb
我有文件列表(对象)该对象有多个文件,即Json记录存在,但我尝试上传文件串(记录)它不上传文档数据库,但我上传单文档记录,它成功上传.
List<MyModelClass> listObj = new List<MyModelClass>();
Document doc = await DocumentClient.CreateDocumentAsync("dbs/" + DocumentDatabase.Id + "/colls/" + DocumentCollection.Id, listObj);
Run Code Online (Sandbox Code Playgroud)
上面的代码不工作.....
foreach (var item in listObj )
{
Document doc = await Client.CreateDocumentAsync("dbs/" + DocumentDatabase.Id + "/colls/" + DocumentCollection.Id, item);
}
Run Code Online (Sandbox Code Playgroud)
这段代码对我有用.....
Syntax : CreateDocumentAsync(String,?Object,?RequestOptions,?Boolean)
Object :- Document object // I Know it as per syntax it need to be "Document Type".
Run Code Online (Sandbox Code Playgroud)
我想要任何其他方式一次上传所有文档....
Dav*_*gon 15
您不能一次插入多个文档.呼叫CreateDocumentAsync()仅适用于单个文档.
要实现这一点,您需要设计某种类型的服务器端存储过程来完成此操作,然后在一次调用中将文档数组传递给该函数.您可能希望查看此答案以了解其他人如何使用服务器端函数解决此问题,实际上是在本地创建文档数组,然后在其存储过程中遍历数组.所以,创建这样的东西(摘自该答案):
docObject = {
"items": [{doc}, {doc}, {doc}]
}
Run Code Online (Sandbox Code Playgroud)
并传递docObject给您的存储过程.
最终,您的存储过程仍然会进行单独的插入调用,每个文档一个.但是......你不会有多次网络往返.并且插入将是事务性的(如果其中一个插入失败,或者您抛出异常,则其他插入将被回滚).
| 归档时间: |
|
| 查看次数: |
7736 次 |
| 最近记录: |