2015-06-01 61 views
0

我開始一個新的流星項目,並使用Collection2進行驗證。我定義了下面的模式。當我插入標題爲4的文檔時,我期望它失敗,因爲我已經將它指定爲字符串。這不是失敗。我懷疑我沒有得到流星的一些基本方面。僅供參考,如果我忽略了標題,我會收到預期的錯誤。流星collection2允許數字作爲字符串

我的架構:

Timestamps = new Mongo.Collection('timestamps'); 

var Schemas = {}; 

Schemas.Timestamp = new SimpleSchema({ 
    title: { 
    type: String, 
    label: "Title", 
    max: 500, 
    optional: false 
    }, 
    notes: { 
    type: String, 
    label: "Notes", 
    max: 1000, 
    optional: true 
    } 
}); 

Timestamps.attachSchema(Schemas.Timestamp); 

下面的代碼將失敗,出現錯誤,說標題必須是一個字符串。但是,它並沒有失敗,並且該值被存儲爲字符串「4」。

創建時間戳:

Timestamps.insert({title: 4, comments: "a comment"}); 

這是怎麼了發佈,並允許時間戳插入。

Meteor.publish("timestamps", function() { 
    return Timestamps.find(); 
}); 

Timestamps.allow({ 
    insert: function(timestamp) { 
     return true; 
    } 
}); 

回答