当前位置: 首页 > 知识库问答 >
问题:

PYTHON-从Azure Cosmos DB中的集合中删除项目

谢俊力
2023-03-14

我是使用 Azure 进行开发的新手。我希望你能帮助这个代码。我的 gol 是从 Azure Cosmos DB 的集合中删除这些项。但是我得到http错误:如果我使用此值'partionKey'='/Structures',则为400,如果值为'',则为404。错误消息 = “x-ms 分区键标头中提供的分区键的组件数少于集合中定义的组件数”

client = cosmos_client.CosmosClient("https://....documents.azure.com:443/", {'masterKey': '...'})

options = {}

options['enableCrossPartitionQuery'] = True
options['maxItemCount'] = 5
options['partitionKey'] = '/Structures'

client.DeleteItem("dbs/.../colls/.../docs/.../", options)

共有1个答案

墨寂弦
2023-03-14

该错误是由以下行引起的:

options['partitionKey'] = '/Structures'

您需要在这里指定分区键的具体值,而不是列name.For示例,我的分区键是'/name',本文档中的具体值是'A'。

然后您的代码看起来像:

from azure.cosmos import cosmos_client

client = cosmos_client.CosmosClient("https://***.documents.azure.com:443/", {'masterKey': '***'})

options = {}

options['enableCrossPartitionQuery'] = True
options['maxItemCount'] = 5
options['partitionKey'] = 'A'

client.DeleteItem("dbs/db/colls/coll/docs/2", options)
 类似资料:
  • 本文向大家介绍如何从MongoDB集合中删除重复项,包括了如何从MongoDB集合中删除重复项的使用技巧和注意事项,需要的朋友参考一下 为此,设置“ unique:true ”,即唯一约束,并避免插入重复项,如以下语法所示: 为了理解上述语法,让我们创建一个包含文档的集合。在这里,不允许重复插入- 在find()方法的帮助下显示集合中的所有文档- 这将产生以下输出-

  • 问题内容: 我希望能够在迭代过程中从集合中删除多个元素。最初,我希望迭代器足够聪明,以使下面的幼稚解决方案能够正常工作。 但这会引发一个错误。 请注意,就我所知,iterator.remove()无法正常工作,因为我需要一次删除多个内容。还假设不可能确定“即时”删除哪些元素,但是可以编写该方法。在我的特定情况下,要确定要在迭代过程中删除的内容,将占用大量内存和处理时间。由于内存限制,也无法制作副本

  • 问题内容: 我有一个(尽管我猜这个问题也适用于其他集合)对象。据我了解,当文档讨论删除映射时,那么它就是从哈希表中删除条目,即不一定破坏实际对象。如果该表中唯一剩余的对该对象的引用,那么该对象会被垃圾回收吗? 如果我这样做了,并且表中的那些对象没有在其他任何地方引用,它们会被垃圾回收吗? 最快的方法是实际从表中删除所有条目,同时销毁那些对象。 问题答案: 是的,如果集合是最后引用这些对象的地方,则

  • 无法从外壳中删除集合, 集合可用并且我的 php 脚本正在访问它的东西(选择|更新) 但当我使用: 它给了我一个错误:

  • 我如何删除一个特定的文档中的一个集合在fiRecovery使用反应? 我在这里和谷歌上看了看,但我没有发现任何内在相关的东西。 我只是设法从我的集合中删除索引[0]的文档。 这状态idDoc接收所有id文档。 如果我只是传递. doc(idDoc),我会得到以下错误: Firebase Error: Function Collection Reference.doc()要求它的第一个参数是非空字符

  • 我在Java有一个集合数组列表。 例如,当我这样做时: 测试是集合。 为什么我得到的结果是:[jamesbond] 我只想要jamesbond,但为什么他们也给我[]?