何时应使用聚合管道?
场景:我有一些像这样的mongo数据库文件
`
{
id:"",
text:"",
dept:"",
group:"",
parent:"",
}
`
现在,我需要使用父字段从中准备一个树结构。
`
tree:[
{
id:"",
text:"",
dept:"",
group:"",
parent:"",
children:[
{
id:"",
text:"",
dept:"",
group:"",
parent:"",
}]
},{
id:"",
text:"",
dept:"",
group:"",
parent:"",
}]
`
现在,该结构可能会大量嵌套。据我所知,我可以编写用于构建此结构的聚合管道。但是问题是,这种结构将像页面的每次刷新一样频繁地准备。 我们应该使用管道还是应该将json文档按原样存储在树结构中。
答案 0 :(得分:0)
Mongo带来的优势是其NoSQL无架构结构。您需要利用它,而不是将数据存储在关系模型中。
因此,当您意识到需要获取大量嵌套数据时,建议以这种方式对数据库建模,即将所有嵌套数据存储在单个文档中。因此,进行提取时,无需对它进行任何其他计算。
有关同一内容的更多信息,请参见this。