NoSQL文档中的NoSQL Key / Value等价物

时间:2017-10-26 17:36:35

标签: database mongodb database-design nosql azure-table-storage

我一直在使用Microsoft Azure Table这是NoSQL Key / Value数据库。现在我需要将数据存储在MongoDB中,这是一个Document NoSQL数据库。

以前使用的是Azure:

public class StudentEntity : TableEntity
{
    public StudentEntity(string partitionKey, string rowKey)
        : base(partitionKey, rowKey)
    {
    }
}

我有students表,partitionKey是大学名称,rowKey是学生ID。

但是我看到MongoDB文档只有每个实体的ID。如何在mongodb中拟合我的天蓝色数据?

感谢。

1 个答案:

答案 0 :(得分:0)

AFAIK,对于Azure表存储,PartitionKey和RowKey组合为记录的唯一标识。它们被编入索引以创建一个支持快速查找的聚簇索引。对于MongoDB,每个文档必须具有_id属性,并且它将作为每个文档的标识。

根据我的理解,如果您切换到MongoDB并重用表存储中的数据,我假设您可以添加PartitionKeyRowKey作为MongoDB文档中的字段,然后添加索引让他们优化查询。

对于数据分区,您可以利用Sharding跨多台计算机分发数据。例如,您可以使用Hashed Sharding并将MongoDB文档的PartitionKey字段设置为shard key,以便在分片群集中对数据进行分区。