我一直在使用Microsoft Azure Table,它是一个NoSQL键/值数据库。现在,我需要将数据存储在MongoDB中,这是一个文档NoSQL数据库。
这是Azure之前的做法:
public class StudentEntity : TableEntity
{
public StudentEntity(string partitionKey, string rowKey)
: base(partitionKey, rowKey)
{
}
}我有一个students表,partitionKey是大学名称,rowKey是学生号。
但是我看到MongoDB文档中的每个实体只有一个ID。如何在mongodb中适应我的azure数据?
谢谢。
发布于 2017-10-27 18:14:34
对于Azure Table Storage,PartitionKey和RowKey组合为您的记录的唯一标识。并对它们进行索引,以创建支持快速查找的聚集索引。而对于MongoDB,每个文档都必须有_id属性,并且它可以作为每个文档的标识。
据我所知,如果您切换到MongoDB并重用表存储中的数据,我假设您可以将PartitionKey和RowKey作为字段添加到MongoDB文档中,然后为它们添加索引以优化查询。
对于数据分区,您可以利用Sharding将数据分布在多台机器上。例如,您可以使用Hashed Sharding并将MongoDB文档的PartitionKey字段设置为shard key,以跨分片集群对数据进行分区。
https://stackoverflow.com/questions/46960536
复制相似问题