2016-08-08 123 views
2

我想創建1個對象嵌套文檔狀物體父:創造出嵌套的孩子貓鼬

孩子:

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 } ] 

是否可以使用nodejs(express)在mongooese上創建數據? 它是類似的這個問題mongoose: How to insert a single subdocument - not an array 但在這種情況下,孩子只存儲小孩的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] 
} 
+0

任何建議將欣賞! –

回答

1

你嘗試populate

下面是一個簡單的例子:

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

只要你註明兒童的裁判一個模型,貓鼬是足夠聰明與家長參加孩子。