我试图找出Mongoose.JS是否在.modelSchema中公开subDocuments。基本思想是我想生成我的数据库模型的树视图。
对于Exampe I,我是一个状态模式,允许每个状态包含一个问题模式的问题数组。我的Mongoose Schema看起来像这样:
var StatusScheme = new Schema ({
StatusName: {type: String },
isClosed: {type:Boolean},
Questions:[QuestionSchema]
});
var QuestionSchema = new Schema ({
QuestionName: {type: String },
isRequired: {type:Boolean},
QuestionType:{type: String }
});
现在在我的node.js应用程序中,我想迭代架构以生成字段名称树:
+StatusName
+isClosed
+Questions
+QuestionName
+isRequired
+QuestionType
我在.modelSchemas [schema] .tree对象中进行探索,我可以获得所有字段名称问题,我无法检测到Questions数组是否真的是一个不同的模式。有没有人对可能告诉我这个的对象有任何见解?一旦我知道一个字段确实是一个子文档,我就可以递归迭代整个模式来构建我的树。
我想我可能已经找到了链接。我可以看一下modelSchemas对象并深入研究每条路径,看看路径是否有一个脚轮对象。如果是,我可以用子文档数据填充它。
isClosed不是subDocument,而Questions是一个子文档。看起来像Mongoose然后在modelschema中包含in的构造函数。有关更好地找到&#34树的想法"在Mongoose中查看或子文档关系。
答案 0 :(得分:0)
可以在https://groups.google.com/forum/#!topic/mongoose-orm/4sBbi388msI
找到详细信息必须先定义子架构,然后才能将其作为子文档嵌入。
查找子文档架构遍历“CaseSchema.paths [”MYRecipients“]。options.type [0]”
树属性还包含模式之间的嵌套关系。