架构中的递归元素:Mongoose建模

时间:2015-11-20 11:36:16

标签: node.js mongodb mongoose schema

知道如何在Mongoose Schema中建模Tree文档吗?

 var TreeSchema = new Schema({
     "Non-leafNode" : { 'children': [ { type: "NodeElement"}], 'title': String},
     "NodeElement": { 'elem': { type: "LeafNode" }, 'elem2': { type: "Non-leafNode" } }, // one of them is required. not both.
     "LeafNode" : { title : String}
 });

一个人如何塑造这个?整个树是一个文件(理想情况下)。

1 个答案:

答案 0 :(得分:6)

来自https://groups.google.com/forum/#!topic/mongoose-orm/0yUVXNyprx8

  

按设计,它可能会起作用。没有对此进行测试。为此目的,我有Schema#add来生成递归引用:

var Tasks = new Schema();
Tasks.add({
   title     : String
 , subtasks  : [Tasks]
});

因此,您需要逐步构建递归。