Node.js mongoosejs定义复杂模型

Node.js mongoosejs定义复杂模型,node.js,mongodb,mongoose,Node.js,Mongodb,Mongoose,我的Json: {name:“字符串”, 节点:[ {name:“String”,节点:[]}, {name:“String”,节点:[]} ] } 从技术上讲,每个节点都是一个对象数组,以名称和节点作为字段,并保持向下链接。从技术上讲,这是一种具有多个树状层的左导航设计 我在MongooseJS中尝试了很多选项,但是我只为节点返回空数组。我应该如何定义模型,以便在这种情况下可以返回节点的数据。这里需要的是将节点定义为对其他节点的引用数组 您的架构应该如下所示: var Node = new S

我的Json: {name:“字符串”, 节点:[ {name:“String”,节点:[]}, {name:“String”,节点:[]} ] }

从技术上讲,每个节点都是一个对象数组,以名称和节点作为字段,并保持向下链接。从技术上讲,这是一种具有多个树状层的左导航设计


我在MongooseJS中尝试了很多选项,但是我只为节点返回空数组。我应该如何定义模型,以便在这种情况下可以返回节点的数据。

这里需要的是将节点定义为对其他节点的引用数组

您的架构应该如下所示:

var Node = new Schema();

Node.add({
    name: String,
    nodes: [{ type: Schema.ObjectId, ref: 'Node'}]
});

如果节点仍然是同一个集合的一部分,这会是一个好的设计吗?当然,根据Mongoose的创建者的说法,“向同一个集合填充引用是可以的。试试看:)“@ArvinGopi同样,如果你觉得有帮助的话,如果你能接受答案,那就太好了=)。谢谢谢谢你,斯坦。事实上,我根据这个模式结构修改了集合,它成功了。