2016-04-24 50 views
1

這裏是我的架構:貓鼬 - purposly插入重複屬性到同一文件

var schema = mongoose.Schema; 

var projectSchema = new schema ({ 
projectName: {type: String}, 
event: { 
    log: { 
     recordDate: {type: Date}, 
     comment: {type: String} 
    }, 
} 
}); 

基本上這個文件的目的是記錄在各種項目日誌。每個日誌都有它的製作日期和關於項目本身的評論。信息將通過表格輸入。

但是,這裏有個問題:如果有人想給這個文檔添加另一個日誌,他們就不能;反而會發生的是,任何新的日誌都會覆蓋舊的日誌。

我想知道怎麼一個人,在瀏覽器中使用表單域,可以使多個日誌條目,以便在MongoDB中,它看起來是這樣的:

{ 
"_id" : ObjectId("570f8459196a3a301638b18b"), 
"projectName" : "project1", 
"event" : { 
    "log" : { 
     "recorDate" : "2015/04/28" 
     "comment" : "The project needs improvement" 
     } 
    "log" : { 
     "recorDate" : "2015/04/29" 
     "comment" : "Project is better" 
     } 
     "log" : { 
     "recorDate" : "2015/04/30" 
     "comment" : "Needs more testing" 
     } 
} 
} 
+1

要添加到QoP的答案,結帳[SubDocuments](http://mongoosejs.com/docs/subdocs.html),我相信這是你需要的。 – matt

回答

3

你的架構應該是這樣的

var schema = mongoose.Schema; 

var projectSchema = new schema ({ 
projectName: {type: String}, 
event: [ { 
    log: { 
     recordDate: {type: Date}, 
     comment: {type: String} 
    } 
    }] 
}); 
+0

是的,這是做到了。使用數組是我的問題的正確解決方案。 – MonkeyOnARock