我有一个大的asp .net应用程序,目前使用sql server作为其数据库。我想将此应用程序转换为使用mongodb。我面临的一个直接挑战是:如何在当前数据模型之间找到一个合理的中间点,这个模型分布在许多表格中,以及面向文档的方法,这将允许大多数(如果不是全部)我的相关实体合并为一个单一文件集。以下是一些细节: 业务领域是IT基础架构,其中一些实体是" BusinessApplication"," Server"," Storage"," Network",& #34;负载&#34 ;.所有这些实体都是相关的:......单个业务应用程序在多个服务器上运行;每个服务器都有一个或多个与之关联的存储单元;每个服务器都有一个或多个与之关联的网络接口;每个业务应用程序可以由一个或多个工作负载等表示...因此,基本上它是一个对象图。我的第一个诱惑是创建一个" Workload"文档,其中每个文档将有多个嵌套的子文档集合:
Workload:
{
workloadId,
workloadName,
workloadEnvironment
...
Applications:
{
appId,
appName,
appOwner,
appType
...
}
Servers:
{
serverId,
serverName,
serverType,
etc
Storage:
{
storageUnitId,
storageType,
etc...
}
Network:
{
networkInterfaceId:,
networkInterfaceType,
...
}
}
}
我没有为mongodb建模数据的任何经验,所以我的问题是: 这是"超级嵌套的集合"只要嵌套实体彼此相关,或者在某种程度的规范化方面仍然会更好,并将商业应用程序分离出来,那么这种做法是公认的,也是合理的。收集来自"服务器",来自"存储"等...?