我一直在使用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中拟合我的天蓝色数据?
感谢。
答案 0 :(得分:0)
AFAIK,对于Azure表存储,PartitionKey和RowKey组合为记录的唯一标识。它们被编入索引以创建一个支持快速查找的聚簇索引。对于MongoDB,每个文档必须具有_id
属性,并且它将作为每个文档的标识。
根据我的理解,如果您切换到MongoDB并重用表存储中的数据,我假设您可以添加PartitionKey
和RowKey
作为MongoDB文档中的字段,然后添加索引让他们优化查询。
对于数据分区,您可以利用Sharding跨多台计算机分发数据。例如,您可以使用Hashed Sharding并将MongoDB文档的PartitionKey
字段设置为shard key,以便在分片群集中对数据进行分区。