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

Cosmos DB:如何在创建文档时将分区键值设置为id?

富建章
2023-03-14
{
    "id": "<post-id>",
    "type": "post",
    "postId": "<post-id>",
    "userId": "<post-author-id>",
    "title": "<post-title>",
    "content": "<post-content>",
    "creationDate": "<post-creation-date>"
}
...
  1. 我创建一篇文章。
  2. 宇宙数据库设置其ID
  3. 我将其postid设置为id<-how?

共有1个答案

卢树
2023-03-14

我想从这个页面的想法是,你将有相同的实体,这样你就可以更容易地查询你的宇宙。

因此,就如何设置id而言,它很简单,您需要自己设置它

document.Id = "post-id";
document.PostId = "post-id";

另一方面,如果您使用的是。NET,您可以做什么

public class Document
    {
        
        public string Id { get; set; }
        public string Type { get; set; }
        public string PostId { get; set; }

        public static Document CreatePost(string postId)
        {
            return new Document()
            {
                Id = postId,
                PostId = postId,
                Type = "post"
            };
        }

        public static Document CreateComment(string postId, string commentId)
        {
            return new Document()
            {
                Id = commentId,
                PostId = postId,
                Type = "comment"
            };
        }
    }
var post = Document.CreatePost(Guid.NewGuid().ToString())
 类似资料:
  • 我们正在使用cosmosdb记录我们的应用程序日志。我们的日志有两层,一层有一般的信息,另一层有一般日志的更详细的信息。我们还在其他两个集合中记录了这些的副本以供备份。所以我们总共有四个系列。在我们的代码中,我们使用异步CreateDocumentAsync来创建这些日志。我们将任务存储在列表中,并使用Task.waitall来完成所有任务。在开发环境中,我们没有看到任何错误,但在生产中,当创建新

  • 尝试使用REST API创建文档时,出现以下错误: 在各种SDK中,有一个可选参数要包含,,如果设置为则如果未提供ID,将拒绝带有此错误的请求。我提出了一个非常简单的REST请求,所以我自己没有添加这个参数(我甚至不知道我会添加什么头——大概是头——因为RESTAPI的文档没有涵盖它)。 唯一需要注意的是,集合有一个定义的分区键。我找不到任何文档说如果定义了分区键就需要一个ID,但是情况似乎就是这

  • 问题内容: 我试图通过对数据库中的文档进行计数,并使用该数字来创建_id(假设第一个_id为0)来为我的Mongoose模型动态创建_id。但是,我无法从值中设置_id。这是我的代码: 我尝试了多种设置_id的方法,但是它对我不起作用。这是最新的错误: 如果您知道发生了什么事,请告诉我。 问题答案: 您要么需要将该属性声明为架构的一部分(将其注释掉),要么使用该选项并将其设置为(您正在使用该选项,

  • 我想实现使用azure cosmos DB创建文档的幂等性。请让我知道cosmos-db(文档db)是否开箱即用地支持此功能。 为此我使用了SQL api。

  • 在每分钟有1000个条目(惟一键)进入cosmos的场景中,使用/id作为分区键安全吗? 特别是,有逻辑分区的概念https://docs.microsoft.com/en-us/azure/cosmos-db/partition-data这里的图形让我有点害怕,显示逻辑分区是实际实体(例如“城市”:“伦敦”)。如果我有一个8小时的TTL和每分钟1000个条目,我不一定需要cosmos需要管理的4

  • 我们使用的是Cosmos DB SQL API,下面是一个集合: 大小:无限 吞吐量:50000 RU/s PartitionKey:散列 我们将插入200,000条记录,每个记录的大小为2.1KB,并且分区键列的值相同。据我们所知,具有相同分区键值的所有文档都存储在同一个逻辑分区中,无论我们是在固定大小的集合还是在无限大小的集合中,逻辑分区都不应超过10 GB的限制。 显然,我们的总数据甚至不到