所以我即将通过实体框架使用sqlserver,然后我收到一封电子邮件,说azure刚刚再次提高了Azure SQL Elastic数据库的价格!任何方式我都会使用mongodb,我需要帮助将这个流畅的api翻译成mongo文档?
public CourseMappings()
{
HasMany<User>(s => s.Student)
.WithMany(c => c.Course);
}
public AddressMappings()
{
HasRequired(c => c.Student)
.WithRequiredDependent(u => u.Address);
}
public StudentMapping()
{
HasRequired(c => c.Address)
.WithRequiredPrincipal(u => u.Student);
}
有三张桌子,学生,地址和课程,我如何在Mongodb中建模?我知道地址将嵌入学生中,我已经找到了1:1的关系。问题是可以在一个文件(一个例子)中完成,还是这个课程是一个单独的文件,带有StudentId,可以与学生建立多对多的关系?
答案 0 :(得分:0)
MongoDB中的数据模型非常依赖于应用程序的“查询访问模式”。据我了解,您的应用程序通过学生ID或学生数据访问数据。我建议只有一个系列。集合模式数据模型如下所示: -
{
"_id" : ObjectId("57971c2b4895ddf87c8747ea"),
"studentid" : 1,
"studentname" : "name",
"address" : {
"name" : "street name",
"addressline1" : "line 1",
"addressline2" : "line 2",
"post code" : "GRUHFYN"
},
"courses" : [
{
"courseid" : 1,
"coursename" : "science"
},
{
"courseid" : 2,
"coursename" : "english"
},
{
"courseid" : 3,
"coursename" : "Maths"
}
]
}