var dirSchema = new mongoose.Schema([{type:String,
name:String, path:String, children:[dirSchema]}]);
我想在mongodb中使用nodejs存储这种类型的模式?它就像一个文件系统结构。如果我有一个路径说/ foo / bar / hello / 123,我如何查询集合。
答案 0 :(得分:0)
我不记得当时是如何解决的(2014年),但是可以通过使用Graph查找操作来解决。 depth字段可用于标识文件夹的深度。
db.dirs.aggregate([
{ $match: {
dirId: "foo"
} },
{$graphLookup:{
from:"product",
startWith:"$_id",
connectFromField:"_id",
connectToField:"parentId",
"depthField": "depth"
as:"children"
}}])