2015-10-06 84 views
0

我有對象的深嵌套陣列對象的陣列,像這樣:貓鼬批次嵌套物體插入

[{ 
    "clause": "7", 
    "section": [{ 
     "name": "whatever", 
     "subClauses": [{ 
     "name": "foo", 
     "details": [{ 
     "detail": "bar" 
     }] 
    }] 
    }] 
}] 

每個陣列具有它的若干項。在我的Mongoose模式中,子文檔是單獨的集合,即嵌套的Model.schema。

是否可以將Mongoose Schema設置爲批量Model.collection.insert,爲每個子文檔創建_id字段?

+0

你想破壞不同集合中的數據嗎?即:部分集合中的部分,子句集合中的子句等。另外,普通數據是否仍然是元素的一部分?即:子句字段應顯示所有插入 –

+0

是的抱歉,我應該提到子文檔有他們自己的集合,但我從中繪製的種子數據是一個巨大的json文件!我現在通過循環數組來創建數據庫,並創建新的Model()函數並手動推入每個數據庫,這似乎很麻煩。 –

+0

收藏如何分解?例如,進入'sections'集合的文檔應該包含其他數組,因爲它們是?還是應該將所有文件平鋪?即:如果某個部分有10個'subClauses',則'sections'集合中將包含10個不同的條目 –

回答

0

這裏的問題是Model.collection.insert不會爲子文檔創建_id,而Model.create()會創建_id。然而,我發現儘管Model.create會爲每個子文檔提供_Ids,但它不會將子文檔單獨保存到數據庫,這意味着如果我調用SubDoc.find({}),則不會返回任何內容......