我有一项每天解析在线文档的服务。 我想将它存储在Mongo数据库中。 提取的数据就像那样组织(我每天都有一个进程列表):
public class Process
{
public IList<Lawyer> Lawyers { get; set; }
public string Details { get; set; }
public DateTime Date { get; set; }
public Info AdditionalInfo { get; set; }
}
所以我需要每天存储一个进程列表。 我的客户端应用程序将读取该数据库并搜索当天给定律师的所有流程,并显示为电子邮件应用程序。
我如何构建我的mongodb呢?
我每天将处理6k到10k个进程。 每日文件为我所在州的每位律师提供流程 每位律师每天最多有50个流程。
因此,我将拥有一个像gmail这样的网络应用程序,律师可以看到他的所有流程。
流程将每个月(或2)被删除,但我需要永远保留我的客户流程,或者直到他丢弃流程。
所以我最初的想法是将客户端进程移动到'gmail'应用程序使用的另一个(?)数据库。
那么,如果这些流程来自我的实际客户,我会保留它(移动?) 如果它来自非客户,我会在1个月后删除。
你们怎么想?
由于
答案 0 :(得分:1)
Mongo不适合在关系环境中使用。你的用例似乎不是很关系,所以它似乎很合适。而不是经典的律师和一个流程表#34;我只想为律师制作一个集合,其中一个属性被命名为&#34;流程&#34;并包含过程对象列表。由于您总是要查询律师的所有流程(如果我已正确理解),则只需要一次查询。
{
id: '12345',
name: 'Foo Bar',
address: '123 Main St.',
phone: '123-456-7890',
processes: [
{
name: 'process 1',
...: ...
},
{
name: 'process 2',
...: ...
}
]
...: ...
}