mongoosejs 定义复杂模型

Posted

技术标签:

【中文标题】mongoosejs 定义复杂模型【英文标题】:mongoosejs defining complex model 【发布时间】:2014-05-20 10:30:52 【问题描述】:

我的 Json: 名称:“字符串”, 节点:[ 名称:“字符串”,节点:[], 名称:“字符串”,节点:[] ]

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

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

【问题讨论】:

【参考方案1】:

您想要在这里将节点定义为对其他节点的引用数组。

您的架构应如下所示:

var Node = new Schema();

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

【讨论】:

如果节点仍然是同一个集合的一部分,这会是一个好的设计吗? 当然,根据 Mongoose 的创建者的说法,“将 refs 填充到同一个集合是可以的。试试看 :)”groups.google.com/forum/#!topic/mongoose-orm/O2DWcOccm4w @ArvinGopi 另外,如果您发现它有帮助,您可以接受答案,那就太好了 =)。谢谢! 谢谢斯坦。我实际上根据这个架构结构修改了集合并且它工作了。

以上是关于mongoosejs 定义复杂模型的主要内容,如果未能解决你的问题,请参考以下文章

mongoosejs find() ????????

为啥使用 Mongoose JS 删除嵌入式子文档数组的元素不起作用?

mongoose

MongoDB 通过 Mongoose JS - findByID 是啥?

await 仅在异步函数中有效 - 使用 mongoosejs exec() 时

查询未在 Mongoose 模型中定义的文档