gpt4 book ai didi

Meteor - check() VS new SimpleSchema() 用于验证 .publish() 参数

转载 作者:行者123 更新时间:2023-12-02 11:31:58 25 4
gpt4 key购买 nike

为了确保我的出版物收到的参数类型,我应该使用 SimpleSchema 还是 check()

Meteor.publish('todos.inList', function(listId, limit) {
new SimpleSchema({
listId: { type: String },
limit: { type: Number }
}).validate({ listId, limit });

[...]
});

Meteor.publish('todos.inList', function(listId, limit) {
check(listId, String);
check (limit, Number);

[...]
});

最佳答案

check() 允许您检查数据类型,这是一回事,但有些限制。

SimpleSchema 功能更强大,因为它检查文档中的所有键(而不是一次一个),并允许您不仅定义 type 还可以定义允许的值,定义不存在的默认(或动态)值。

您应该这样使用 SimpleSchema:

mySchema = new SimpleSchema({ <your schema here>});

var MyCollection = new Mongo.Collection("my_collection");
MyCollection.attachSchema(mySchema);

这样,您就不需要检查方法中的架构:它将自动完成。当然,使用

始终是一个好习惯

mySchema.validate(文档);

在将客户端生成的文档插入到您的集合中之前对其进行验证,但如果您不这样做并且您的文档与架构不匹配(额外的键、错误的类型等...)SimpleSchema 将拒绝不匹配的部分属于。

关于Meteor - check() VS new SimpleSchema() 用于验证 .publish() 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37237023/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com