创build嵌套在mongoose中的子对象的父对象

我想创build1个对象嵌套的文档,如:

儿童:

chil1:

{ name: 'Mimi', parent: 537258f63eb92b3201b65e56, _id: 537258f63eb92b3201b65e57, __v: 0 }, 

chil2

 { name: 'Kiki', parent: 537258f63eb92b3201b65e56, _id: 537258f63eb92b3201b65e58, __v: 0 } 

家长:(我想要什么)

 [ { name: 'John', _id: 537258f63eb92b3201b65e56, __v: 0, children: [ { name: 'Mimi', parent: 537258f63eb92b3201b65e56, _id: 537258f63eb92b3201b65e57, __v: 0 }, Children:[ { name: 'Mimi', parent: 537258f63eb92b3201b65e56, _id: 537258f63eb92b3201b65e57, __v: 0 }, { name: 'Kiki', parent: 537258f63eb92b3201b65e56, _id: 537258f63eb92b3201b65e58, __v: 0 } ] 

有可能创buildmongooese与nodejs(快递)的数据? 这是类似这个问题mongoose:如何插入一个单一的子文档 – 不是一个数组,但在这种情况下,孩子只存储孩子的ID,而不是所有的对象? 这是我的模型文件:

 const schema:mongoose.Schema = new mongoose.Schema({ owner: { type: mongoose.Schema.Types.ObjectId, ref: 'user' }, name: String, parentCategory: { type: mongoose.Schema.Types.ObjectId, ref: 'parent', }, childCategories: [{ type: mongoose.Schema.Types.ObjectId, ref: 'child', }], }); 

通常结果:

  { name: 'John', _id: 537258f63eb92b3201b65e56, __v: 0, children: [Chil1_id, Chil2_id] } 

你尝试填充 ?

这是一个简单的例子:

 Parent.find().populate("children").exec(...) 

只要你指定孩子参考模型,mongoose就足够聪明,可以把孩子和父母一起join。