2013-06-24 100 views
0

我有一個使用mongoose.js的舊版本的應用程序,我一直在將它升級到2.9.x的過程中(打算在升級到3.x之後此更新成功)。它似乎(主要)工作正常,直到我嘗試設置任何具有模式類型Mixed的東西。當我這樣做的時候出錯了TypeError: Cannot read property 'name' of undefined設置混合模式類型錯誤

這裏是我的架構:(用半複雜的對象通常,即{type: 'string', companies: ['company1', 'company2']}

mongoose = require 'mongoose' 
Schema = mongoose.Schema 
Mixed = Schema.Types.Mixed 

LogItemSchema = new Schema({ 
    action: String 
    , user: String 
    , comment: String 
    , time: Date 
    , modal: Mixed 
}) 

module.exports = LogItem = mongoose.model('LogItem', LogItemSchema) 

我可以創建一個新的LogItem罰款,直到我試圖設置modal屬性,它就會因錯誤。

如果我沒有設置模態,則沒有錯誤。任何想法,爲什麼會這樣?

回答

0

道德故事:不使用Mixed類型。

但嚴重的是,我從來沒有弄清楚這個問題是什麼。我最終只是更新到最新版本的Mongoose,並處理了錯誤(主要是API更改)。

在此之前,日誌已更改爲不包含任何Mixed數據。