我正在开始一个新的 Meteor 项目并使用 Collection2 进行验证。我定义了以下架构。当我插入标题为 4 的文档时,我预计它会失败,因为我已将其指定为字符串。它没有失败。我怀疑 Meteor 的某些基本方面我没有得到。仅供参考,如果我省略标题,我会得到预期的错误。
我的架构:
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;
}
});