我正在寻找一种在使用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," }
什么是最好的方法:
根据这篇帖子Mongoose Schema for hierarchical data like a folder > subfolder > file和文档,我需要为子目录创建路径,例如:
{ _id: "idDirB", path: ",DirA,DirB," }
然后我可以使用
列出DirA的内容Model.find( { path: /,DirA,[^,],$/ } )
这不是我想要的,因为它错过了使用物化路径的要点(更改名称,移动文件或目录时需要执行多个请求)。
那么有办法解决这个问题吗?
编辑:
实际上存储目录路径是一个很好的解决方案。
但是我只是意识到mongodb没有运算符来替换字符串(在路径内移动/重命名)...
我想我需要执行查找请求,然后更新每个条目的路径字段:'(