Mongodb和物化路径:列出子目录

时间:2018-11-01 07:09:27

标签: mongodb treeview subdirectory

我正在寻找一种在使用Mongodb的应用程序中包含文件夹和文件的方法。

我认为实体化路径是最佳的处理方式(因为重命名或移动文件/文件夹仅包含更改路径)。

我的问题是我无法列出子目录。

例如,具有以下结构:

{ _id: "idFile1", path: ",DirA,File1," }
{ _id: "idFile2", path: ",DirA,File2," }
{ _id: "idFile3", path: ",DirA,DirB,File3," }
{ _id: "idFile4", path: ",DirA,DirB,DirC,File4," }
{ _id: "idFile5", path: ",DirA,DirB,DirD,File5," }

什么是最好的方法:

  • 列出DirA中的项目(File1,File2,DirB);
  • 列出DirB中的项目(File3,DirC,DirD);
  • ...

根据这篇帖子Mongoose Schema for hierarchical data like a folder > subfolder > file和文档,我需要为子目录创建路径,例如:

{ _id: "idDirB", path: ",DirA,DirB," }

然后我可以使用

列出DirA的内容
Model.find( { path: /,DirA,[^,],$/ } )

这不是我想要的,因为它错过了使用物化路径的要点(更改名称,移动文件或目录时需要执行多个请求)。

那么有办法解决这个问题吗?


编辑:

实际上存储目录路径是一个很好的解决方案。

但是我只是意识到mongodb没有运算符来替换字符串(在路径内移动/重命名)...

我想我需要执行查找请求,然后更新每个条目的路径字段:'(

0 个答案:

没有答案
相关问题