javascript - Mongoose 模式内的相同模式

标签 javascript node.js mongodb mongoose

var dirSchema = new mongoose.Schema([{type:String, 
                name:String, path:String, children:[dirSchema]}]);

我想在 mongodb 中使用 nodejs 存储这种类型的模式?它就像一个文件系统结构。如果我的路径是/foo/bar/hello/123,我该如何查询集合。

最佳答案

我不记得当时(2014 年)我是如何解决它的,但可以通过使用图查找操作来解决。深度场可用于识别文件夹的深度。

db.dirs.aggregate([ 
    { $match: {
      dirId: "foo"
    } }, 
    {$graphLookup:{
    from:"product", 
    startWith:"$_id", 
    connectFromField:"_id", 
    connectToField:"parentId",
    "depthField": "depth" 
    as:"children"
  }}])

关于javascript - Mongoose 模式内的相同模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26167595/

相关文章:

javascript - CRM 2013 限制日期字段

javascript - 数组的累积和,条件在另一个数组中

r - 在另一种语言上使用 R 中经过训练的模型

node.js - 尝试删除 Mongoose 中的子文档会出现内部 mongoose 错误

Javascript Regex 将括号和单引号替换为斜线

javascript - 描述外部的 beforeEach 是否总是在描述内部的 beforeEach 开始之前完成?

node.js - 仅使用 Nodejs 运行 npm 开发?

mongodb - 如何将 $mergeObjects 与可选属性一起使用?

node.js - MongoDB 和 API 集成 - 如果不存在则创建新用户

javascript - 使用 Javascript 将数据存储到本地存储